Android 设备上未安装Facebook,但存在com.Facebook.katana包

Android 设备上未安装Facebook,但存在com.Facebook.katana包,android,facebook,share,Android,Facebook,Share,我试图检查facebook应用程序是否安装在设备上 搜索时我找到了这个链接 基于以上链接,我的方法如下 PackageManager pm = getPackageManager(); PackageInfo pinfo=null; try { pinfo=pm.getPackageInfo("com.facebook.katana", PackageManager.GET_ACTIVITIES); return (

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

搜索时我找到了这个链接

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

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不在已安装的应用程序列表中,但该标志始终为真,甚至包管理器也没有抛出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应用程序的包名


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

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

您的facebook应用程序处于禁用状态


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

有没有办法让我们可以通过编程检查应用程序是否处于禁用状态。谢谢您的帮助answer@RavikantTiwari您可以使用标志检查应用程序的状态。您可以这样做ApplicationInfo ai=getActivity().getPackageManager().getApplicationInfo(“您的_包”,0);布尔值appStatus=ai.enabled;然后,appStatus的这个布尔值可用于检查应用程序是否已启用/禁用。在某些情况下,它将处于启用状态,因此即使我检查
已启用
标志,它也不会工作。