移动端测试Android开发日志

Android-正确获取系统使用的语言

2020-01-15  本文已影响0人  eoser

1.获取正确Locale对象

Android7.0以前

直接获取Locale对象就可以了

Locale locale = mContext.getResources().getConfiguration().locale;
//或者
Locale locale = Locale.getDefault();

Android7.0以上

必须从LocaleList中获取第一个Locale对象
原因:7.0后,原生Android系统支持选择多种语言,存储的是一个表,默认的是第一个。
踩坑:做输入法时,根据系统语言切换字符集,用以前的方法获取,一直是英语,获取不到正确信息。
备注:做适配7.0以下的APP,加上下面注释的判断条件,与上面的代码一起使用。

//Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
Locale locale = LocaleList.getDefault().get(0);

2.利用Locale对象获取参数

locale.getLanguage();//获取语言
locale.getCountry();//获取国家
上一篇下一篇

猜你喜欢

热点阅读