我有一个用于“锁定安卓手机”的应用程序,这意味着该应用程序是用户在该手机上唯一可以访问的应用程序,这是使用MySync完成的。
在应用程序必须支持Android11 (complieSdkVersion 30)之前,用户可以通过应用程序更改屏幕亮度和其他系统设置(因为用户无法访问设置应用程序)。但现在WRITE_SETTINGS和CHANGE_CONFIGURATION已被弃用,不再具有理想的效果。
我知道可以通过以下提示提示用户接受设置:
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);
}
}但由于用户无法访问我的应用程序生态系统中的设置应用程序,因此我不能给用户一个打开设置并允许用户停留在设置中的提示。
有没有办法绕过这个权限请求?有没有办法在清单级别或以其他方式做到这一点?
发布于 2021-10-04 05:52:59
AndroidManifest文件:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />删除此行: android:requestLegacyExternalStorage="true" in AndroidManifest file.
https://stackoverflow.com/questions/69344139
复制相似问题