我试图检查是否在设备上安装了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的包名。
可能的原因或任何其他方法来执行此检查。
答案 0 :(得分:2)
根本不可能android系统显示有关设备中安装的应用程序的错误信息。在你的情况下,我已经检查了代码并且它完全正常,所以你无法在你的设备中看到facebook应用程序的唯一原因,而上面的代码显示了包" com.facebook.katana"是 -
您的Facebook应用已处于停用状态
是的,您似乎将facebook应用程序作为系统应用程序(预先安装到设备),现在它已被禁用。要检查,您可以进入您的设置并找到类似"管理应用程序"的内容。转到所有应用程序列表的最底部,您应该在那里找到所有已禁用的应用程序。