怎样知道哪些android哪些应用可以自启动,并判断其自启动是禁止还是启用
我发现有些软件可以列出所有自启动的应用,并且可以对其进行 启用 和 停用 的操作。并且可以判断出是否被禁用或者启用。
是怎么实现的呢?
好像不是自己软件做的标识,例如 我用A软件 禁用了a应用的开机自启动。在用B软件列出开机自启动项后,可以判断出a应用已经被禁用了。
自启动一般都是通过监听boot complete 消息实现的
状态标识绝对不是软件自己实现,而是读取系统相关属性值得到的。初步猜测和Application Manager有关,它应该会抛出一些status值,明天上班我去源码中搜搜看看。
ComponentName mComponentName = new ComponentName("com.xx","com.xx.receivers.BootReceiver");xx就是软件名字,然后后面就是一般用来接收开机完成广播的组件名称。
int a = getPackageManager().getComponentEnabledSetting(mComponentName);
会有4个状态,0默认 1可用 2禁止 3user disable