首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从清单中允许使用安卓11的WRITE_SETTINGS权限

从清单中允许使用安卓11的WRITE_SETTINGS权限
EN

Stack Overflow用户
提问于 2021-09-27 09:16:02
回答 1查看 246关注 0票数 1

我有一个用于“锁定安卓手机”的应用程序,这意味着该应用程序是用户在该手机上唯一可以访问的应用程序,这是使用MySync完成的。

在应用程序必须支持Android11 (complieSdkVersion 30)之前,用户可以通过应用程序更改屏幕亮度和其他系统设置(因为用户无法访问设置应用程序)。但现在WRITE_SETTINGSCHANGE_CONFIGURATION已被弃用,不再具有理想的效果。

我知道可以通过以下提示提示用户接受设置:

代码语言:javascript
运行
复制
    boolean permission;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        permission = Settings.System.canWrite(context);
    } else {
        permission = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_SETTINGS) == PackageManager.PERMISSION_GRANTED;
    }
    if (permission) {
        initApp();
    }  else {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData(Uri.parse("package:" + context.getPackageName()));
            startActivityForResult(intent, SettingsActivity.CODE_WRITE_SETTINGS_PERMISSION);
        } else {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_SETTINGS}, SettingsActivity.CODE_WRITE_SETTINGS_PERMISSION);
        }
    }

但由于用户无法访问我的应用程序生态系统中的设置应用程序,因此我不能给用户一个打开设置并允许用户停留在设置中的提示。

有没有办法绕过这个权限请求?有没有办法在清单级别或以其他方式做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 05:52:59

AndroidManifest文件:

代码语言:javascript
运行
复制
 <uses-permission
            android:name="android.permission.WRITE_EXTERNAL_STORAGE"
            android:maxSdkVersion="28" />

删除此行: android:requestLegacyExternalStorage="true" in AndroidManifest file.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69344139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档