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

你可能感兴趣的:(Android 4.0 系统语言预设问题)