标签:
【问题】
状态栏中显示双卡卡槽图标,但实际机器只是单卡卡槽。
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