Android 判斷當前系統語言
正文
列:zh_CN (1)方法1得到zh (2)方法2得到cn (3)方法3得到zh_CN
方法1:
import java.util.Locale;
String locale = Locale.getDefault().getLanguage();
方法2:
import android.content.res.Configuration;
import android.content.res.Resources;
Resources res = mContext.getResources();
Configuration config = res.getConfiguration();
String locale = config.locale.getCountry();
方法3:
import java.util.Locale;
String locale = Locale.getDefault().toString();
android每個應用都儲存著一份僅對自身有用的配置,被封裝在 android.content.res.Configuration 類裡,通過該類,我們可以修改語言引數,實現對應用語言的變更。
首先獲取 Configuration 物件:
- Resources resource = getResources();
- Configuration config = resource.getConfiguration();
然後設定 config 中的 locale 屬性,選擇需要的語言。
locale屬性為一個Locale類的物件,比如我們要設定應用的語言為英語,那麼可以這樣實現:
- config.locale = Locale.ENGLISH;
或者要設定成系統預設的語言:
- config.locale = Locale.getDefault();
最後,需要更新配置檔案,執行下面的程式碼:
- getBaseContext().getResources().updateConfiguration(config, null);
語言設定完成後,應用並不會自動重新整理當前已經開啟的Activity,所以為了重新整理整個應用,目前比較通用的做法是重新啟動應用:
- Intent intent = new Intent();
- intent.setClass(this, MainActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- this.startActivity(intent);
另外需要注意的是,需要在Manifest.xml檔案中的Activity中配置android:configChanges屬性,通過配置該屬性,Activity可以捕捉裝置狀態的變化:
- <activity
- android:name=".MainActivity"
- android:label="@string/title_activity_main"
- android:configChanges="locale" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
具體的實現請參考Demo: LanguageChangeDemo
相關文章
- 獲取系統語言/當前 App支援語言APP
- 判斷Android 當前版本是否為debug版本Android
- Android判斷當前裝置是否設定了代理Android
- 用程式碼判斷當前系統是否支援某個版本的feature
- 組合語言---判斷字元組合語言字元
- C語言判斷素數,判斷質素演算法C語言演算法
- JS判斷當前裝置是 PC IOS AndriodJSiOS
- 判斷水仙花數C語言C語言
- Python 判斷當前作業系統型別的模組Python作業系統型別
- JavaScript判斷當前裝置和瀏覽器型別JavaScript瀏覽器型別
- JS在瀏覽器中判斷當前網路狀態JS瀏覽器
- 判斷當前瀏覽器是不是微信瀏覽器瀏覽器
- C語言的判斷機器的大小端C語言
- C語言必須掌握的判斷題 | 4C語言
- C語言必須掌握的判斷題 | 10C語言
- C語言學習【3】——判斷與迴圈C語言
- 判斷語句
- js判斷手機系統JS
- JS的判斷語句:判斷、迴圈JS
- 帝國CMS利用PHP判斷當前頁面是否為首頁PHP
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- C語言:判斷一個字串是否為迴文C語言字串
- C語言判斷檔案存在和建立檔案C語言
- C 判斷語句
- 012 判斷語句
- js 怎樣判斷使用者是否在瀏覽當前頁面JS
- 通過ABAP程式碼判斷當前系統型別,BYD還是S4 OP還是S4 Cloud型別Cloud
- Android開發:獲取當前系統時間和日期的方法Android
- C語言判斷輸入小寫字母的個數C語言
- 如何判斷作業系統大小端作業系統
- 判斷Linux系統是否被黑的方法Linux
- python 判斷作業系統型別Python作業系統型別
- JavaScript判斷系統和瀏覽器JavaScript瀏覽器
- 而井教你判斷當前Javascript執行環境是否支援async函式JavaScript函式
- 如何通過Java程式碼判斷當前的環境是否支援JRE 9Java
- vue透過自定義指令判斷當前元素是否在可視區域Vue
- Java程式設計:通過獲取當前時間,判斷今天星期幾Java程式設計
- 判斷語句的使用
- python之判斷語句Python