我在别的地方看到这种方法:
ComponentName localComponentName = new ComponentName(MyApplication.getInstance(), BootCompletedReceiver.class);
int i = MyApplication.getInstance().getPackageManager().getComponentEnabledSetting(localComponentName);
判断i的值,4个状态,0默认 1可用 2禁止 3user disable
但是不管开关打开还是关闭,都只能获取到0。
我是在小米2上测试的
LZ你解决这个问题了么???
如果您想在Android系统开发中检查应用程序是否具有自启动权限,您可以使用以下代码:
PackageManager pm = getPackageManager();
ComponentName cn = new ComponentName(this, BootCompletedReceiver.class);
boolean isStarted = pm.getApplicationInfo(cn.getPackageName(), 0).enabled;
其中,BootCompletedReceiver
是您的自定义广播接收器类,用于在设备启动后自动启动您的应用程序。如果您的应用程序已启用自启动权限,则isStarted
将为true
,否则为false
。