Facebook没有安装在设备上但包com.facebook.katana存在

时间:2017-03-01 06:40:23

标签: android facebook share

我试图检查是否在设备上安装了facebook应用程序。

搜索时我发现此链接How to check if Facebook is installed Android

基于以上链接我的方法如下

PackageManager pm = getPackageManager();
    PackageInfo pinfo=null;
    try {
        pinfo=pm.getPackageInfo("com.facebook.katana",
                PackageManager.GET_ACTIVITIES);
        return ((pinfo!=null)?true:false);
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }

我检查了设备facebook不在安装的应用程序列表中,但标志始终为true,甚至包管理器也没有抛出NameNotFoundException。

当我尝试启动这样的fb活动时没有任何反应

File file = new File(imagePath);
final Intent fbIntent = new Intent(Intent.ACTION_SEND);
fbIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri fileUri = FileProvider.getUriForFile(this, "com.test.provider", file);
fbIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
fbIntent.putExtra(Intent.EXTRA_TEXT,"gudmorning");
fbIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
fbIntent.setType("image/*");
fbIntent.setPackage("com.facebook.katana");
startActivity(fbIntent);

我还检查了包名“com.facebook.orca”的代码,这也是messenger app的包名。

可能的原因或任何其他方法来执行此检查。

1 个答案:

答案 0 :(得分:2)

根本不可能android系统显示有关设备中安装的应用程序的错误信息。在你的情况下,我已经检查了代码并且它完全正常,所以你无法在你的设备中看到facebook应用程序的唯一原因,而上面的代码显示了包" com.facebook.katana"是 -

您的Facebook应用已处于停用状态

是的,您似乎将facebook应用程序作为系统应用程序(预先安装到设备),现在它已被禁用。要检查,您可以进入您的设置并找到类似"管理应用程序"的内容。转到所有应用程序列表的最底部,您应该在那里找到所有已禁用的应用程序。