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

我集成了推送,需要自启权限,保证消息送达。打开应用,跳转设置界面让用户去手动开启,但不能每次都去设置吧,所以需要判断应用是否获取自启动权限。是自启动的权限,我不做开机接收广播自启,那种还是会死。

5个回答

追加:不要开机自启,监听开机广播啊!!!!!!!!!!!
不要开机自启,监听开机广播啊!!!!!!!!!!!
不要开机自启,监听开机广播啊!!!!!!!!!!!
不要开机自启,监听开机广播啊!!!!!!!!!!!
不要开机自启,监听开机广播啊!!!!!!!!!!!
我要怎么判断应用是否获取了自启动权限!!!!

xueliang10
xueliang10 回复zhangmingjie01: 同求解决方案,但是貌似keep已经做到了
大约 2 年之前 回复
zhangmingjie01
张明杰01 没什么用,跳转自启界面,我已经写好了。判断自启权限,各家rom没有给api,小米论坛有人提,但没官方回。。。。。。
大约 2 年之前 回复

ComponentName localComponentName = new ComponentName(MyApplication.getInstance(), BootCompletedReceiver.class);
int i = MyApplication.getInstance().getPackageManager().getComponentEnabledSetting(localComponentName);

zhangmingjie01
张明杰01 不行,BootCompletedReceiver 是监听开机广播的,没自启权限,像小米等,连开机广播也收不到的!!
大约 2 年之前 回复

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上测试的

zhangmingjie01
张明杰01 不行,BootCompletedReceiver 是监听开机广播的,没自启权限,像小米等,连开机广播也收不到的!!
大约 2 年之前 回复

xml里先添加广播,如果是小米把miui优化关掉试试
public class MyReceiver extends BroadcastReceiver
{
public MyReceiver()
{
}

@Override
public void onReceive(Context context, Intent intent)
{
    if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
    {
        Intent i = new Intent(context, MainActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

}

zhangmingjie01
张明杰01 而且,装个应用,你总不能让用户去把小米的miui优化关掉吧?我觉得你要这样做,用户会把你的应用卸掉!
大约 2 年之前 回复
zhangmingjie01
张明杰01 大哥,你这还是监听开机广播,然后开机自启。被干掉或者被系统自带的安全管理软件干掉,照样收不到推送消息。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐