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();//获取国家