如何(检查)知道是否允许自动启动许可?

时间:2018-04-21 10:51:56

标签: java android

您好我使用此代码在android mi,oppo,vivo设备中启动自动启动权限。这完美运行,但如何知道用户允许的自动启动权限。

private void addAutoStartup() {

    try {
        Intent intent = new Intent();
        String manufacturer = android.os.Build.MANUFACTURER;
        if ("xiaomi".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
        } else if ("oppo".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
        } else if ("vivo".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
        } else if ("Letv".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity"));
        } else if ("Honor".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
        }

        List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        if (list.size() > 0) {
            startActivityForResult(intent, 1);
            startActivity(intent);
        }
    } catch (Exception e) {
        Log.e("exc", String.valueOf(e));
    }
}

如何确定是否允许此权限?

1 个答案:

答案 0 :(得分:0)

您无法回答的简短答案

到目前为止,它可以通过root用户来完成,但不建议这样做,它可能会损害用户的设备。 对于我来说,我倾向于创建一个对话框并将用户重定向到自动启动屏幕。 如果用户单击“不再显示(复选框)”,只需停止显示该对话框,而是将其视为可靠的选择,但不建议

Permission Dialog