检查应用程序是否已启用或禁用,使用包名。

14

我想检查某个应用程序是由用户启用还是禁用。

我唯一知道的是我可以获得这个int

int appstate= this.getPackageManager().getApplicationEnabledSetting("com.example.app");

我怎样使用这个整数来检查应用程序是启用还是禁用的?

示例

if(......){//is enabled

}
else{
//disabled
}
2个回答

46
ApplicationInfo ai = 
               getActivity().getPackageManager().getApplicationInfo("your_package",0);

boolean appStatus = ai.enabled;

感谢Amir


每个程序包都需要吗?即使是系统应用程序? - Device
我认为是的 :) 因为在这里没有系统和应用程序包之间的区别 here :) - Nadeem Iqbal
需要注意的一点是,如果系统应用程序被禁用,则无法使用此API来检查其状态信息。 - Hoa Nguyen

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接