雙卡雙待手機(jī)有DSDS(Dual?Sim Dual Standby)和DSDA(Dual SIM dual active)方案,早期產(chǎn)品使用DSDA?方案比較多,隨著多模、多頻段、CA、MIMO等技術(shù)出現(xiàn),硬件射頻復(fù)雜度大大增加,再加上雙卡雙通的實(shí)際使用場(chǎng)景并不多,DSDS就成為了目前市場(chǎng)的主流方案。
DSDS只有一張卡能夠占有PS業(yè)務(wù)?;騌adio resource,故引入了DDS(Default Data?SIM)概念。雙SIM卡手機(jī),只有一張卡能進(jìn)行數(shù)據(jù)業(yè)務(wù),稱為主卡,另一張卡則稱為副卡。若進(jìn)行主副卡切換,則副卡切為DDS主卡;
DDS切換流程
手動(dòng)DDS切換
通過setting-雙卡與移動(dòng)網(wǎng)絡(luò),選擇默認(rèn)上網(wǎng)卡。
DDS狀態(tài)會(huì)保存在telephony的DB中,對(duì)應(yīng)為Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION。
可通過adb shell getprop settings list multi_sim_data_call進(jìn)行查看。
frameworks/opt/telephony/src/java/com/android/internal/telephony/SubscriptionController.java?????
public void setDefaultDataSubId(int subId) {
enforceModifyPhoneState("setDefaultDataSubId"); ?????????????????????? ? ? ? ? ? ? ? ?? String flexMapSupportType =
SystemProperties.get("persist.radio.flexmap_type", "nw_mode");
if (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID) {
throw new RuntimeException("setDefaultDataSubId called with DEFAULT_SUB_ID");
}
updateAllDataConnectionTrackers();
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION, subId);
broadcastDefaultDataSubIdChanged(subId);
} ?
DDS切換Log參考
部分log如下,主要是PS domain/pdp建立。
//Setting UI set DDS
MobileNetworkSettings: Default Data SubId [1]
//telephony-fwk subscription module detect DDS switch
SubscriptionMonitor:?Default changed 1->2
SubscriptionMonitor: newDefaultDataPhoneId=1
SubscriptionMonitor: Default phoneId changed 0->1, 1,1 registrants
TelephonyNetworkFactory[0]: onDefaultChange(true,false)
TelephonyNetworkFactory[1]: onDefaultChange(false,true)
//set PS domain switch cmd to RIL
PhoneSwitcher: InformDdsToRil rild= 1, DDS=1?RILJ ???: [4184]> RIL_REQUEST_ALLOW_DATA allowed: false [SUB0]
RILJ ???: [4185]> RIL_REQUEST_ALLOW_DATA allowed: true [SUB1]
RILJ ???: [4184]< RIL_REQUEST_ALLOW_DATA ?[SUB0]
RILJ ???: [4185]< RIL_REQUEST_ALLOW_DATA ?[SUB1]
//PS domain camp on
QtiGsmDCT: [1]onDataConnectionAttached
//try setup pdp
TelephonyNetworkFactory[1]: onActivePhoneSwitch(true, true)
TelephonyNetworkFactory[1]: onReleaseNetworkFor NetworkRequest [ id=8, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ]
TelephonyNetworkFactory[0]: not releasing - isApp=false, isAct=false NetworkRequest [ id=8, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ]
RILJ ???: [4260]> SETUP_DATA_CALL 14 0 cmnet ??0 IPV4V6 [SUB1]
RILJ ???: [4260]< SETUP_DATA_CALL DataCallResponse: {version=11 status=0 retry=-1 cid=0 active=2 type=IPV4V6 ifname=rmnet_data0 mtu=1500 addresses=[10.148.243.195/29] dnses=[211.136.112.50,211.136.150.66] gateways=[10.148.243.196] pcscf=[]} [SUB1]
TelephonyNetworkFactory[1]: got request NetworkRequest [ id=10, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ] with score 0
TelephonyNetworkFactory[0]: got request NetworkRequest [ id=10, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ] with score 0
TelephonyNetworkFactory[1]: onNeedNetworkFor NetworkRequest [ id=10, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ]
TelephonyNetworkFactory[0]: not acting - isApp=false, isAct=false NetworkRequest [ id=10, legacyType=-1, [ Transports: CELLULAR Capabilities: IMS&TRUSTED&NOT_VPN] ]
RILJ ???: [4279]> SETUP_DATA_CALL 14 2 ims ??0 IPV4V6 [SUB1]
RILJ ???: [4279]< SETUP_DATA_CALL DataCallResponse: {version=11 status=0 retry=-1 cid=1 active=2 type=IPV4V6 ifname=rmnet_data7 mtu=1500 addresses=[2409:8804:8010:17cc:db16:6730:30b2:383c/64] dnses=[] gateways=[fe80:0000:0000:0000:e1cc:541a:ab8c:f1bf] pcscf=[]} [SUB1]
動(dòng)態(tài)DDS切換
除了用戶手動(dòng)設(shè)置DDS外,特定的場(chǎng)景還可以進(jìn)行DDS動(dòng)態(tài)切換。
當(dāng)subInfo/network request/radio state/數(shù)據(jù)開關(guān)/通話狀態(tài)等改變時(shí),都會(huì)觸發(fā)onEvaluate方法,判斷當(dāng)前應(yīng)該將DDS切換到哪張卡上。
文章來源:http://www.zghlxwxcb.cn/news/detail-492382.html
當(dāng)然,動(dòng)態(tài)DDS切換的場(chǎng)景還有很多,例如信號(hào)強(qiáng)度、網(wǎng)絡(luò)注冊(cè)狀態(tài)、吞吐量等等,手機(jī)廠家可以使用更優(yōu)的算法進(jìn)行更智能化切換,讓數(shù)據(jù)建立在性能更優(yōu)的SIM卡上,滿足用戶的流暢體驗(yàn)。?文章來源地址http://www.zghlxwxcb.cn/news/detail-492382.html
到了這里,關(guān)于雙卡雙待手機(jī)DDS切換功能介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!