1. 程式人生 > >Android 4.0 系統語言預設問題

Android 4.0 系統語言預設問題

    在做繁體版Android 4.0專案時,收到個語言問題,在手機初始化後開機,剛開始顯示繁體中文,但隨著網路訊號出現,語言被更改成簡體中文了。非常疑惑,看了下MccTalbe.java這個檔案程式碼(電話模組),發現會去讀2個屬性,如下:

String l = SystemProperties.get("persist.sys.language");
String c = SystemProperties.get("persist.sys.country");

如果沒有這2個屬性,就會去用自己SIM卡的語言主動更改系統語言,也就是為什麼出現訊號後系統語言改變的原因了。

    然後找到出廠的語言是通過屬性來設定的,如下:

編譯指令碼路徑:/build/tools/buildinfo.sh

ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE

ro.product.locale.region=$PRODUCT_DEFAULT_REGION

    最後在指令碼後面追加缺少的"persist.sys.language"和"persist.sys.country"屬性,編譯系統,測試成功。

    總結,其實使用者主動更改語言設定也會去呼叫ActivityManagerService.java類寫persist.sys.language的屬性。