Android获取系统语言(兼容7.0)
从 Android 7.0 开始,系统语言支持多个,可手动排序,系统根据 App 本身支持的语言和手机出厂设置的语言等因素来调整 App 本身的默认语言。使用 getResources().getConfiguration().getLocales()
返回的是一个 LocaleList 对象,它包含 >=1 个 Locale,内容项可由用户增删,顺序可由用户调整。但是,此接口返回的语言顺序和用户定义的顺序不一定一致!
获取系统真实首选语言:
Locale locale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = LocaleList.getDefault().get(0);
} else {
locale = Locale.getDefault();
}
String language = locale.getLanguage() + "-" + locale.getCountry();
Log.i("yezhou", "Language: " + getLanguage() + ", LocaleLanguage: " + getLocaleLanguage() + ", Country: " + getCountry());
//Language: zh, LocaleLanguage: zh-CN, Country: CN
public static String getLanguage() {
Locale locale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = LocaleList.getDefault().get(0);
} else {
locale = Locale.getDefault();
}
return locale.getLanguage();
}
public static String getLocaleLanguage() {
Locale locale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = LocaleList.getDefault().get(0);
} else {
locale = Locale.getDefault();
}
return locale.getLanguage() + "-" + locale.getCountry();
}
public static String getCountry() {
Locale locale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = LocaleList.getDefault().get(0);
} else {
locale = Locale.getDefault();
}
return locale.getCountry();
}
参考资料:https://developer.android.com/reference/java/util/Locale.html
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/26/android-get-system-language-compatible-with-7/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Android获取系统语言(兼容7.0)
从 Android 7.0 开始,系统语言支持多个,可手动排序,系统根据 App 本身支持的语言和手机出厂设置的语言等因素来调整 App 本身的默认语言。使用 getResources……
文章目录
关闭
共有 0 条评论