设置语言报错 Permission Denial: updatePersistentConfiguration() from pid=6862, uid=10025 requires android.permission.CHANGE_CONFIGURATION
时间: 2024-01-19 19:04:56 浏览: 121
Android.permission.MODIFY_PHONE_STATE权限问题解决办法
这个错误是因为你的应用程序没有被授予 android.permission.CHANGE_CONFIGURATION 权限,因此无法更改配置。
要解决这个错误,你需要在 AndroidManifest.xml 文件中添加以下权限声明:
```
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
```
同时,确保在你的代码中请求权限:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CHANGE_CONFIGURATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CHANGE_CONFIGURATION },
PERMISSION_REQUEST_CODE);
}
```
这样就可以在运行时请求更改配置的权限了。如果你的应用程序需要在运行时更改系统配置,你也需要在代码中添加以下代码:
```
Configuration config = getResources().getConfiguration();
config.setLocale(newLocale);
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
```
其中,newLocale 是你要设置的语言的 Locale 对象。
希望这些信息能够帮助你解决问题。
阅读全文