检查Facebook上是否安装了Facebook

时间:2012-10-04 08:11:29

标签: android facebook android-package-managers

我该怎么检查?我必须使用PackageManager吗?谢谢:D

2 个答案:

答案 0 :(得分:2)

我这样检查(检查返回的值是否不等于null):

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;
}

答案 1 :(得分:1)

final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm
            .getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
    Log.d(TAG, "Installed package : " + packageInfo.packageName);
}

然后,您可以检查packageInfo.packageName是否等于包含该应用程序包名称的某个字符串。