在设备中设置系统区域设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在设备中设置系统区域设置相关的知识,希望对你有一定的参考价值。
有谁知道可以通过编程方式为设备设置系统语言?我知道我们无法使用的问题
`android.permission.CHANGE_CONFIGURATION`
(google在android 5.0+中更改了它)我用反射方法测试了它。只有当我们用adb授予许可时它才能工作(它的方法不正确)
adb grant mypackage android.permission.CHANGE_CONFIGURATION
我的应用程序有管理员权限,我希望可能有另一种方式当我的应用程序是管理员应用程序,我可以更改设备区域设置programmaticaly?
答案
这种方法完成了大部分工作。相应地编辑
private static boolean updateResources(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return true;
}
它从您传入的语言字符串中选择一个新的语言环境,然后更新应用程序的资源文件。
另一答案
此代码模仿通过设置应用程序手动执行此操作的效果:
String locale = "en-US";
Locale loc = null;
String[] langCountry = locale.split("-");
if (langCountry.length == 2) {
loc = new Locale(langCountry[0], langCountry[1]);
} else {
loc = new Locale(locale);
}
LocalePicker.updateLocale(loc);
以上是关于在设备中设置系统区域设置的主要内容,如果未能解决你的问题,请参考以下文章