我正在根据用户选择更改应用程序区域设置。独立于设备区域设置。
使用
public void setDefaultLocale(Context context, String locale) {
Locale appLoc = new Locale(locale);
Locale.setDefault(appLoc);
Configuration appConfig = new Configuration();
appConfig.locale = appLoc;
context.getResources().updateConfiguration(appConfig,
context.getResources().getDisplayMetrics());
}
但我也想知道设备区域设置是什么。
当我试图得到这个时,我总是得到我设置为应用程序的语言环境。
例如:应用程序是英文,设备是中文。 我一直在学习英语。
用于获取语言环境,
选项 1.
String locale = context.getResources().getConfiguration().locale.getCountry();
选项 2.
String local_country = ((Activity) context).getBaseContext().getResources().getConfiguration().locale.getCountry();
任何帮助将不胜感激!!!
最佳答案
我问了类似的问题并找到了这个答案,如果晚了抱歉:
要查找系统语言环境,请使用:
defaultLocale = Resources.getSystem().getConfiguration().locale;
无论为应用程序/Activity 设置了哪个默认区域设置,它都会获取系统区域设置。
关于android - 更改应用程序区域设置后如何获取设备区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14394735/