在Android ICS中,我們有能力禁用內置應用程序。 是否有可能知道在代碼中是否禁用或啓用了特定的應用程序?如何知道Android應用程序是否被禁用ICS
0
A
回答
6
ApplicationInfo ai = getActivity().getPackageManager().getApplicationInfo("your_package",0);
boolean appStatus = ai.enabled;
如果appStatus
是false
然後應用程序被禁用:)
0
嘗試http://developer.android.com/reference/android/content/pm/PackageManager.html#getApplicationInfo%28java.lang.String,%20int%29並檢查返回的ApplicationInfo對象中的'enabled'標誌。
0
接受的答案可能會導致異常以及,即NameNotFoundException
,因此您可能需要構建默默地捕捉流例外並決定啓用狀態(它實際上是第三個狀態,即未安裝)。
因此,這將更好地找到這樣的啓用以及安裝狀態:
public static final int ENABLED = 0x00;
public static final int DISABLED = 0x01;
public static final int NOT_INSTALLED = 0x03;
/**
* @param context Context
* @param packageName The Package name of the concerned App
* @return State of the Application.
*
*/
public static int getAppState(@NonNull Context context, @NonNull String packageName) {
final PackageManager packageManager = context.getPackageManager();
// Check if the App is installed or not first
Intent intent = packageManager.getLaunchIntentForPackage(packageName);
if (intent == null) {
return NOT_INSTALLED;
}
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if(list.isEmpty()){
// App is not installed
return NOT_INSTALLED;
}
else{
// Check if the App is enabled/disabled
int appEnabledSetting = packageManager.getApplicationEnabledSetting(packageName);
if(appEnabledSetting == COMPONENT_ENABLED_STATE_DISABLED ||
appEnabledSetting == COMPONENT_ENABLED_STATE_DISABLED_USER){
return DISABLED;
}
else{
return ENABLED;
}
}
}
相關問題
- 1. 如何知道Android應用程序是否被重新部署?
- 2. 的android:如何知道應用是否被另一個應用程序稱爲
- 3. 我如何知道android應用程序是否明確地被用戶殺死?
- 4. 如何知道應用程序數據是否被清除或應用程序是否被卸載?
- 5. 如何知道Android應用程序是否爲混合應用程序?
- 6. Android:如何知道應用程序是否可以啓動
- 7. Android,我如何知道應用程序是否已關閉
- 8. 如何知道是否爲android中的應用程序啓用通知?
- 9. 如何知道進程是否是應用程序 - Windows
- 10. Facebook - 如何知道用戶是否使用應用程序?
- 11. 如何知道中斷是否被禁用?
- 12. 如何知道NSAssert是否在發佈版本中被禁用?
- 13. 如何知道用戶是否強制退出應用程序?
- 14. 如何知道應用程序池是否已遠程啓動?
- 15. 如何知道用戶是否從我的Android應用程序java導航?
- 16. 如何知道應用是否被用戶終止?
- 17. 如何知道我的應用程序的AudioRecord權限是否被禁止或不是
- 18. android知道是否安裝了應用程序
- 19. 如何檢查我的fb應用程序是否被禁止?
- 20. 是否有可能知道WP7應用程序是否被固定?
- 21. 如何知道應用程序是否在iOS終止?
- 22. 如何知道我的應用程序管理員是否
- 23. 如何知道是否Applet或應用程序
- 24. 如何知道表單應用程序是否打開c#
- 25. 如何知道應用程序池內存是否足夠?
- 26. 如何知道手機應用程序是否關閉
- 27. 如何知道應用程序是否在前臺?
- 28. 在android應用程序中,如何知道應用程序是否是第一次運行時?
- 29. 我如何知道我的Android應用程序是否在後臺運行?
- 30. 如何知道應用程序是否已成功安裝在Android中
你要這個幹什麼?如果瀏覽器被禁用,Android會搜索一個新的Intent來啓動一個webview。如果沒有發現,Android會敬酒,行動是不可能的。 – shkschneider 2012-07-18 09:41:15
是的,那可能是真的。 但是,如果Google地圖已停用,我在啓動導航時遇到了問題。還有一些其他應用程序。 – 2012-07-18 12:01:21