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的屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章