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

cidc1ykv  于 2023-05-12  发布在  Android
关注(0)|答案(2)|浏览(134)

我想通过从系统到用户列表显示所有应用程序和权限。我知道此设置可用于API >= 23在不同的位置。
对于API >= 26,它是开的:
设置/应用和通知/高级/应用权限
对于API >= 23,它是开的:
设置/应用程序/配置应用程序(设置菜单项)/应用程序权限
有没有办法用Intent打开*应用权限屏幕?

u91tlkcl

u91tlkcl1#

也许你会很幸运,有人可以证明我错了,但似乎在最近版本的Android上,你只限于应用程序设置-没有通过意图直接访问应用程序权限。
我相信这与安全和自动化有关,这也与Google在尝试请求权限时显示“检测到覆盖”警告的决定一致as outlined on this non-Google article

jm81lzqq

jm81lzqq2#

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
    final AlertDialog.Builder adb = new AlertDialog.Builder(this);
    adb.setTitle("App permissions");
    adb.setMessage("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();
}

相关问题