在我的項目中,我想將我的應用與twitter關聯。它將首先檢查用戶設備上是否存在Twitter應用程序,如果是,則會從其中取得憑據,否則此按鈕將被禁用。檢查用戶設備上是否有twitter應用
建議我。
在我的項目中,我想將我的應用與twitter關聯。它將首先檢查用戶設備上是否存在Twitter應用程序,如果是,則會從其中取得憑據,否則此按鈕將被禁用。檢查用戶設備上是否有twitter應用
建議我。
您可以使用此功能來檢查是否安裝了官方Twitter應用程序:
PackageManager pkManager = activity.getPackageManager();
try {
PackageInfo pkgInfo = pkManager.getPackageInfo("com.twitter.android", 0);
String getPkgInfo = pkgInfo.toString();
if (getPkgInfo.equals("com.twitter.android")) {
// APP NOT INSTALLED
}
} catch (NameNotFoundException e) {
e.printStackTrace();
// APP NOT INSTALLED
}
然而,即使已安裝,您也無法從其中取出任何憑據以在您的應用程序中使用。您需要登錄Twitter4J library才能在自己的應用中管理用戶身份驗證。從應用程序中提取數據(如果已安裝)只是而不是選項。
ohk。那麼我可以啓動該應用程序的身份驗證? –
@AvinashKumarPankaj:其實,驗證將在瀏覽器中完成。它可能是您的應用中的WebView,或者您可以讓用戶選擇他自己選擇的瀏覽器(來自其設備上安裝的瀏覽器)以完成身份驗證過程。但與Facebook SSO不同,Twitter應用並未涉及此過程。 –
非常有幫助的回覆,我使用這段代碼在下面的鏈接中對任何人都有用:https://github.com/lararufflecoles/KittyCatImageGenerator/blob/master/app/src/main/java/es/rufflecol/lara/ kittycatimagegenerator/MainActivity.java –
try{
ApplicationInfo info = getPackageManager().
getApplicationInfo("com.twitter.android", 0);
return true;
} catch(PackageManager.NameNotFoundException e){
return false;
}
如果安裝了Twitter
的官方應用程序,這將檢查或不
boolean twitterInstalled = false;
try{
ApplicationInfo info = getPackageManager().
getApplicationInfo("com.twitter.android", 0);
twitterInstalled = true;
} catch(PackageManager.NameNotFoundException e){
}
[Android Intent for Twitter應用程序](http://stackoverflow.com/q/2077008/593709) –