标签:
【问题】
状态栏中显示双卡卡槽图标,但实际机器只是单卡卡槽。
DSDS:Dual SIM dual standy,即双卡双待; DSDA:Dual SIM dual active,即双卡双通
【解决过程】
在Android目录下全局搜索 persist.radio.multisim.config
$grep -r "persist.radio.multisim.config"
找到default.prop文件,找到persist.radio.multisim.config的定义
#set default multisim config to dsds
persist.radio.multisim.config=ssss
改成了ssss
把这个文件push回机器的system/vendor下
$ adb push system/vendor/default.prop .
重新开机即可
【验证】
开机后,双卡相关的设置都已消失
【小结】
LINUX/android/vendor/qcom/proprietary/qrdplus/Extension/config
路径下有default.prop这个文件
设备识别到是DSDS,认为是双sim卡。
D/StatusBar.MSimNetworkController(5164): updateDataIconi: phoneId1 is not DDS. Clear the mMSimDataConnected Flag and return
开启飞行模式,飞行模式的标志会取代信号标志。关闭飞行模式后,信号标志只出现一个。
如果令getPhoneCount()返回1,无法正常开机。
修改为ssss后,重启机器。三角信号标志出现1个。开启关闭飞行模式后,三角信号标志消失。
双卡机器,设置-双卡设置-默认通道设置--语音/短信--移动数据
//PhoneStatusBarPolicy.java (framework\base\packages\systemui\src\com\android\systemui\statusbar\phone) /** * This class contains all of the policy about which icons are installed in the status * bar at boot time. It goes through the normal API for icons, even though it probably * strictly doesn‘t need to. */ public class PhoneStatusBarPolicy { //PhoneStatusBar.java (framework\base\packages\systemui\src\com\android\systemui\statusbar\phone) line 655 protected PhoneStatusBarView makeStatusBarView() @Override public void start() { // //TelephonyManager.java (framework\base\telephony\java\android\telephony) public MultiSimVariants getMultiSimConfiguration() public int getPhoneCount() //得到phone数量 private static String multiSimConfig = SystemProperties.get(TelephonyProperties.PROPERTY_MULTI_SIM_CONFIG);//读取配置 //TelephonyProperties.java (framework\base\telephony\java\com\android\internal\telephony) /** * Property to set multi sim feature. * Type: String(dsds, dsda) */ static final String PROPERTY_MULTI_SIM_CONFIG = "persist.radio.multisim.config"; //双SIM卡配置 //在default.prop这个文件中,修改为persist.radio.multisim.config=ssss //PhoneConstants.java (framework\base\telephony\java\com\android\internal\telephony) 定义了一系列常量 public static final int MAX_PHONE_COUNT_SINGLE_SIM = 1; public static final int MAX_PHONE_COUNT_DUAL_SIM = 2; public static final int MAX_PHONE_COUNT_TRI_SIM = 3; //MSimNetworkControllerImpl.java (framework\base\packages\systemui\src\com\android\systemui\statusbar\policy) private int getPhoneId(int subId) private final void updateDataIcon(int phoneId) {
标签:
原文地址:http://www.cnblogs.com/rustfisher/p/4620445.html