【发布时间】:2013-05-11 05:00:23
【问题描述】:
在我的项目中,我想将我的应用程序与 twitter 连接起来。它将首先检查用户设备上是否存在 twitter 应用程序,如果是,它将从那里获取凭据,否则此按钮将被禁用。
建议我。
【问题讨论】:
标签: android
在我的项目中,我想将我的应用程序与 twitter 连接起来。它将首先检查用户设备上是否存在 twitter 应用程序,如果是,它将从那里获取凭据,否则此按钮将被禁用。
建议我。
【问题讨论】:
标签: android
您可以使用它来检查是否安装了官方 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 在您自己的应用程序中管理用户身份验证。从应用中提取数据(如果已安装)只是不是一种选择。
【讨论】:
WebView,或者您可以让用户选择他选择的浏览器(从他设备上安装的浏览器中)来完成身份验证过程。但与 Facebook SSO 不同的是,Twitter 应用程序不参与此过程。
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 ){
}
【讨论】: