我试图检查的Facebook应用程序是否安装在设备上或没有。Facebook的装置尚未安装,但包装com.facebook.katana存在
,而搜索,我发现这个链接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是不是在安装的应用程序列表中,但该标志永远是真实的甚至包管理器也没有抛出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”,也这是信使的应用程序包名称的代码。
可能是什么可能的原因或执行该检查的任何其他方法。
有没有什么办法让我们可以检查应用程序是否在你的答案 –
@RavikantTiwari你可以检查标志使用该应用程序的状态残疾人state.Thanks。你可以像这样 ApplicationInfo AI = getActivity()getPackageManager()getApplicationInfo( “your_package”,0)。。 boolean appStatus = ai.enabled; 然后,可以使用appStatus的这个布尔值来检查app是否启用/禁用。 –
感谢它解决了我的要求 –