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

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();//获取国家
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容