Android 跳转手机管家的自启动界面

 在开发中遇到这样一个问题,当我们写了开机自启后发现有的手机并不能很顺利的自启动,因为手机管家有最高权限,有个自启动管理,想直接调到这个页面把自己的app的自启动打开就可以,还有oppo,vivo,加入白名单,查了好多资料发现没有直接跳入自启动的界面的Intent, 我想到了可以通过手机的包名类名可以直接跳转,但是手机型号这么多,我怎么知道每个管家的包名类名是个啥,查资料发现  通过这个adb shell dumpsys activity top 命令可以捕捉到当前Activity的类名,手机型号太多,就抓了几个市场常用的手机!

这里写图片描述
这样他的类名包名就出来了,我是判断了手机型号,

 private void selfStartManagerSettingIntent(Context context) {
        String mtype = android.os.Build.MODEL; // 手机型号
        Intent intent = new Intent();
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        ComponentName componentName = null;
        if (mtype.startsWith("Redmi")||mtype.startsWith("MI")) {
            componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity");
        } else if (mtype.startsWith("HUAWEI")) {
            componentName = new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");
        } else if (mtype.startsWith("vivo")) {
            Log.e(TAG, "selfStartManagerSettingIntent: vivo");
            componentName = new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity");
        } else if (mtype.startsWith("ZTE")) {
//            /.autorun.AppAutoRunManager
            componentName = new ComponentName("com.zte.heartyservice", "com.zte.heartyservice.autorun.AppAutoRunManager");
        } else if (mtype.startsWith("F")) {
            Log.e(TAG, "selfStartManagerSettingIntent: F");
            componentName = new ComponentName("com.gionee.softmanager", "com.gionee.softmanager.oneclean.AutoStartMrgActivity");
        } else if (mtype.startsWith("oppo")) {
            componentName = new ComponentName("oppo com.coloros.oppoguardelf", "com.coloros.powermanager.fuelgaue.PowerUsageModelActivity");
        }
        intent.setComponent(componentName);
        try {
            context.startActivity(intent);
        } catch (Exception e) {//抛出异常就直接打开设置页面
//            intent = new Intent(Settings.ACTION_SETTINGS);
//            context.startActivity(intent);
        }

    }

那个F是金立手机,好像不可以,如果有更好的方法可以分享下,谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值