M上插入NEW SIM,google原生是默认关闭数据开关;
可按MTK solution客制修改打开默认数据开关
[SOLUTION]
1./
frameworks/
opt/
telephony/
src/
java/
com/
mediatek/
internal/
telephony/
dataconnection/
DataSubSelector.java文件中
注释掉google原生subSelectorForOm函数(含有turnOffNewSimData逻辑);
启用MTK solution的subSelectorForOm函数(对应C0~C8等各种case),之后
可参考FAQ13795客制对应case(L上默认数据开关设置)
在L1版本上默认是不支持开启数据业务的,如果一定要默认开启数据业务,可以参考如下方式修改
注释掉现有的subSelectorForOm方法,并启用被注释掉的subSelectorForOm方法。然后默认开启数据业务的修改,可以参考FAQ13795,注意双卡条件中默认数据卡的设置。
使用注释掉的subSelectorForOm编译可能会有错误,如有错误可以按以下方式修改:
一,PROPERTY_ICCID + (i + 1)这个的错直接改为PROPERTY_ICCID[i]
二,找不到setDataEnable。
只要增加一个方法:
private void setDataEnabled( boolean enable) {
TelephonyManager telephony = TelephonyManager.getDefault();
if (telephony != null) {
telephony.setDataEnabled(enable);
}
}
,建议按照以上将默认数据业务先开启.
注释掉现有的subSelectorForOm方法,并启用被注释掉的subSelectorForOm方法。然后默认开启数据业务的修改,可以参考FAQ13795,注意双卡条件中默认数据卡的设置。
使用注释掉的subSelectorForOm编译可能会有错误,如有错误可以按以下方式修改:
一,PROPERTY_ICCID + (i + 1)这个的错直接改为PROPERTY_ICCID[i]
二,找不到setDataEnable。
只要增加一个方法:
private void setDataEnabled( boolean enable) {
TelephonyManager telephony = TelephonyManager.getDefault();
if (telephony != null) {
telephony.setDataEnabled(enable);
}
}
,建议按照以上将默认数据业务先开启.
2./
frameworks/
opt/
telephony/
src/
java/
com/
android/
internal/
telephony/
PhoneBase.java文件中sendSubscriptionSettings函数,将以下google逻辑注释掉
/// M: default data customization, we use DataSubSelector for op.
if (OPERATOR_OM.equals(SystemProperties.get(PROPERTY_OPERATOR, OPERATOR_OM))
&& TelephonyManager.getDefault().getPhoneCount() == 1) {
Rlog.d(LOG_TAG, "load version om. restore data switch.");
mDcTracker.setDataEnabled(getDataEnabled());
}
&& TelephonyManager.getDefault().getPhoneCount() == 1) {
Rlog.d(LOG_TAG, "load version om. restore data switch.");
mDcTracker.setDataEnabled(getDataEnabled());
}
3.特别地,对于
全网通项目
/frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/dataconnection/DataSubSelector.java文件中
onSubInfoReady函数中以下分支中turnOffNewSimData修改为
subSelectorForOm
} else if (CdmaFeatureOptionUtils.isCdmaLteDcSupport()) {
// wait for ACTION_SET_RADIO_TECHNOLOGY_DONE
//Turn off data if new SIM detected.
if (OPERATOR_OM.equals(mOperatorSpec)){
mIsSubReady = true;
setCapabilityIfNeeded(intent);
}
turnOffNewSimData(intent);
// wait for ACTION_SET_RADIO_TECHNOLOGY_DONE
//Turn off data if new SIM detected.
if (OPERATOR_OM.equals(mOperatorSpec)){
mIsSubReady = true;
setCapabilityIfNeeded(intent);
}
turnOffNewSimData(intent);