在Android上以编程方式打开应用程序权限?

时间:2018-10-11 11:07:07

标签: android android-intent

我想通过列表从系统向用户显示所有应用程序和权限。我知道此设置可用于API> = 23的不同位置。

对于API> = 26,它处于启用状态:

  

设置/应用和通知/高级/应用权限

对于API> = 23,它处于打开状态:

  

设置/应用程序/配置应用程序(“设置”菜单项)/应用程序权限

是否可以使用意图打开 应用权限 屏幕?

Android App permissions settings

2 个答案:

答案 0 :(得分:2)

也许您会很幸运,并且有人可以证明我错了,但是在最新版本的Android上,您似乎仅限于“应用程序设置”-无法通过Intent直接访问“应用程序权限”。

我认为这与安全性和自动化有关,这也与Google决定在尝试请求权限as outlined on this non-Google article

时显示“检测到覆盖”警告相一致。

答案 1 :(得分:0)

           if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
                final AlertDialog.Builder adb = new AlertDialog.Builder(this);
                adb.setTitle("Click on ok then app will redirect to app settings then 
                   please click on Other Permissions and  Please Allow All ");
                adb.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                       Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                        Uri uri = Uri.fromParts("package", getPackageName(), null);
                        intent.setData(uri);
                        startActivity(intent);
                    }
                });
                adb.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        finishAffinity();
                        dialogInterface.dismiss();
                    }
                });
                adb.show();
            }