检查Facebook是否安装在Android上
我该怎么查呢?我必须使用PackageManager吗?谢谢:D检查Facebook是否安装在Android上,android,facebook,android-package-managers,Android,Facebook,Android Package Managers,我该怎么查呢?我必须使用PackageManager吗?谢谢:Dfinal PackageManager pm=getPackageManager(); final PackageManager pm = getPackageManager(); List<ApplicationInfo> packages = pm .getInstalledApplications(PackageManager.GET_META_DATA); for (Applicatio
final PackageManager pm=getPackageManager();
final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm
.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
Log.d(TAG, "Installed package : " + packageInfo.packageName);
}
列表包=pm
.GetInstalledApplication(PackageManager.GET_元数据);
对于(ApplicationInfo packageInfo:packages){
Log.d(标签,“已安装的软件包:”+packageInfo.packageName);
}
然后,您可以检查packageInfo.packageName
是否等于包含该应用程序包名称的某个字符串 final PackageManager pm=getPackageManager();
列表包=pm
.GetInstalledApplication(PackageManager.GET_元数据);
对于(ApplicationInfo packageInfo:packages){
Log.d(标签,“已安装的软件包:”+packageInfo.packageName);
}
然后,您可以检查packageInfo.packageName
是否等于包含该应用程序包名称的某个字符串 我这样检查它(检查返回值是否不等于null):
公共静态意图findFacebookClient(上下文con)
{
最后一个字符串[]FacebookApps={“com.facebook.android”,“com.facebook.katana”};
Intent facebookIntent=新Intent();
facebookIntent.setType(“文本/普通”);
最终PackageManager PackageManager=con.getPackageManager();
列表=packageManager.QueryInputActivities(仅限于facebookIntent、packageManager.MATCH_DEFAULT_);
对于(int i=0;i
我这样检查它(检查返回值是否不等于null):
公共静态意图findFacebookClient(上下文con)
{
最后一个字符串[]FacebookApps={“com.facebook.android”,“com.facebook.katana”};
Intent facebookIntent=新Intent();
facebookIntent.setType(“文本/普通”);
最终PackageManager PackageManager=con.getPackageManager();
列表=packageManager.QueryInputActivities(仅限于facebookIntent、packageManager.MATCH_DEFAULT_);
对于(int i=0;i
public static Intent findFacebookClient(Context con)
{
final String[] FacebookApps = {"com.facebook.android", "com.facebook.katana"};
Intent facebookIntent = new Intent();
facebookIntent.setType("text/plain");
final PackageManager packageManager = con.getPackageManager();
List<ResolveInfo> list = packageManager.queryIntentActivities(facebookIntent, PackageManager.MATCH_DEFAULT_ONLY);
for (int i = 0; i < FacebookApps.length; i++)
{
for (ResolveInfo resolveInfo : list)
{
String p = resolveInfo.activityInfo.packageName;
if (p != null && p.startsWith(FacebookApps[i]))
{
facebookIntent.setPackage(p);
return facebookIntent;
}
}
}
return null;
}