【问题标题】:Checking if Facebook is installed on Android检查 Facebook 是否安装在 Android 上
【发布时间】:2012-09-25 05:38:09
【问题描述】:

我该如何检查?我必须使用 PackageManager 吗?谢谢 :D

【问题讨论】:

    标签: android facebook android-package-managers


    【解决方案1】:

    我这样检查(检查返回值是否不等于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;
    }
    

    【讨论】:

      【解决方案2】:
      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 是否等于包含该应用程序包名称的某个字符串。

      【讨论】:

        猜你喜欢
        • 2011-10-06
        • 2021-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-06
        • 1970-01-01
        • 2018-07-08
        相关资源
        最近更新 更多