首页 > 其他分享 >修改Sim卡语言自适应

修改Sim卡语言自适应

时间:2024-07-01 15:20:13浏览次数:15  
标签:语言 系统 EF mcc 默认 适应 修改 Sim SIM

一、 系统设定默认语言规则

系统预置语言,即在 makefile 文件中定义的语言;
– 位置:mediatek/config/${Project}/ProjectConfig.mk,默认第一个是系统默认语言

刷机过后,开机重启,如果未插卡,系统语言为预置的语言;
插入SIM卡过后,系统语言根据 SIM 卡来改变, 默认会把刷机过后第一次插的 SIM 卡的语言设置为默认语言;(如果sim的mcc可以在内置的mcc表中找到)
如果用户没有手动在 Settings 里面设置语言,以后系统语言一直是默认语言(第一次插的 SIM 卡的语言),即使是插入其它国家的卡,系统语言也不会变;
如果用户在 Settings 里面手动设置了语言,以后系统语言会为设置后的语言,无论插入什么卡,系统语言不会变,一直为用户手动设置后的语言。

MTK默认设计是如果手机有插卡,那么在开机是会读取SIM的imsi取出mcc,然后通过mcc来查找对应的language,并设置为手机默认语言(相关文件MccTable.javaframeworks\opt\telephony\src\java\com\android\internal\telephony).

二、 修改默认语言

如果想手机默认语言不随SIM的MCC走,请按照如下修改:
在setLocaleFromMccIfNeeded()函数中

//String language = MccTable.defaultLanguageForMcc(mcc); <<注释掉此语句

   对于KK版本

    在updateMccMncConfiguration()函数中

// locale = getLocaleFromMcc(context, mcc); <<注释掉此语句

如果手机默认语言随SIM卡走
此为operator CT的定制feature,如果有开OP03 option,默认就支持该功能。

     如果想非OP03也支持该功能,请按照如下修改:

    alps/mediatek/frameworks/base/op/java/com/mediatek/op/telephony/TelephonyExt.java中, 使方法isSetLanguangBySIM()返回true,那么手机的默认语言会使用SIM中的EF_LI(6F05)或者EF_EPL(2F05)中的语言。这两个文件优先使用EF_LI中的,如果EF_LI没有匹配的在使用EF_EPL的。

标签:语言,系统,EF,mcc,默认,适应,修改,Sim,SIM
From: https://www.cnblogs.com/baiyunyouyou/p/18278138

相关文章