android怎么获取程序是否有自启动权限

我在别的地方看到这种方法:
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