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();//獲取國家
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容