2017-03-01 5510 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

感謝它解決了我的要求 –