Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Facebook是否安装在Android上_Android_Facebook_Android Package Managers - Fatal编程技术网

检查Facebook是否安装在Android上

检查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

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

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