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();//獲取國家