我正在开发一个Android应用,并且需要根据用户的语言环境国家(地区)进行某些更改。
我找到了一个正式的link,但我试图获得一个语言环境,但它返回的是空字符串。
这是我尝试过的代码,但我将所有字符串作为一个空字符串:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
String localeCountry = LocaleList.getDefault().get(0).getDisplayCountry();
String localeISO3Country = LocaleList.getDefault().get(0).getISO3Country();
String locale = getResources().getConfiguration().getLocales().get(0).getCountry();
String locale1 = getResources().getConfiguration().getLocales().get(0).getDisplayCountry();
String locale2 = getResources().getConfiguration().getLocales().get(0).getDisplayVariant();
}else {
Locale current = getResources().getConfiguration().locale;
String currentCc = getResources().getConfiguration().locale.getCountry();
String iso3Country = getResources().getConfiguration().locale.getISO3Country();
String cCode = Locale.getDefault().getCountry();
}
我也尝试过toString()
方法,但是它返回的是我唯一的语言,但是根据文档,它应该返回包括语言和国家/地区的值。
这是我的代码:
String toString = getResources().getConfiguration().getLocales().toString();
in Log it printed only language:
[en]
我想念什么吗?