2017-03-01 5506 views
0

我试图检查的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”,也这是信使的应用程序包名称的代码。

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

回答

1

是不是在所有可能的,如安装在设备android系统显示有关应用程序错误的信息。在你的情况我已经检查了代码,它是完全OK,那么为什么你不能够看到Facebook应用程序,在您的设备的唯一原因,而上面的代码表明,包“com.facebook.katana”是 -

Facebook应用程序处于禁用状态

不错,看来你是有Facebook应用程序,如系统的应用程序(安装到设备前),现在它被禁用。要进行检查,您可以进入您的设置并找到类似“管理应用程序”的内容。转到所有应用程序列表的最底部,你应该在那里找到所有被禁用的应用程序。

+0

有没有什么办法让我们可以检查应用程序是否在你的答案 –

+0

@RavikantTiwari你可以检查标志使用该应用程序的状态残疾人state.Thanks。你可以像这样 ApplicationInfo AI = getActivity()getPackageManager()getApplicationInfo( “your_package”,0)。。 boolean appStatus = ai.enabled; 然后,可以使用appStatus的这个布尔值来检查app是否启用/禁用。 –

+0

感谢它解决了我的要求 –