我試圖檢查的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是否啓用/禁用。 –
感謝它解決了我的要求 –