双卡双待手机DDS切换功能介绍

这篇具有很好参考价值的文章主要介绍了双卡双待手机DDS切换功能介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

双卡双待手机有DSDS(Dual Sim Dual Standby)和DSDA(Dual SIM dual active)方案,早期产品使用DSDA 方案比较多,随着多模、多频段、CA、MIMO等技术出现,硬件射频复杂度大大增加,再加上双卡双通的实际使用场景并不多,DSDS就成为了目前市场的主流方案。

DSDS只有一张卡能够占有PS业务栈或Radio resource,故引入了DDS(Default Data SIM)概念。双SIM卡手机,只有一张卡能进行数据业务,称为主卡,另一张卡则称为副卡。若进行主副卡切换,则副卡切为DDS主卡;

DDS切换流程

手动DDS切换

通过setting-双卡与移动网络,选择默认上网卡。

双卡双待手机DDS切换功能介绍

DDS状态会保存在telephony的DB中,对应为Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION。

可通过adb shell getprop settings list multi_sim_data_call进行查看。

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]

动态DDS切换

除了用户手动设置DDS外,特定的场景还可以进行DDS动态切换。

当subInfo/network request/radio state/数据开关/通话状态等改变时,都会触发onEvaluate方法,判断当前应该将DDS切换到哪张卡上。

双卡双待手机DDS切换功能介绍

当然,动态DDS切换的场景还有很多,例如信号强度、网络注册状态、吞吐量等等,手机厂家可以使用更优的算法进行更智能化切换,让数据建立在性能更优的SIM卡上,满足用户的流畅体验。 文章来源地址https://www.toymoban.com/news/detail-492382.html

到了这里,关于双卡双待手机DDS切换功能介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Fast DDS入门一、Fast DDS介绍

    Fast DDS入门二、Fast DDS在Windows平台的编译安装 Fast DDS是DDS(数据分发服务)规范的C++实现,DDS是由对象管理组(OMG)定义的协议。Fast DDS库提供应用程序编程接口(API)和通信协议,用于部署以数据为中心的发布-订阅(DCPS)模型,目的是在实时系统之间建立高效可靠的信息分

    2024年02月03日
    浏览(13)
  • Fast DDS入门四、Fast DDS-Gen使用介绍

    Fast DDS-Gen是一个Java应用程序,它使用IDL(接口定义语言)文件中定义的数据类型生成Fast DDS源代码。生成的源代码可以用于任何Fast DDS应用程序中,以定义主题的数据类型,并且将用于发布或订阅。Fast DDS通过两个类定义Topic中交换的数据类型:TypeSupport和TopicDataType。TopicData

    2024年02月15日
    浏览(13)
  • AD9910模块高速DDS模块、功能性能讲解、开发调试注意事项、代码详解、电子设计大赛DDS

    AD9910是一款内置14 bit DAC的直接数字频率合成器(DDS),支持高达1GSPS的采样速率。AD9910采用高级DDS技术,在不牺牲性能的前提下可极大降低功耗。DDS/DAC组合构成数字可编程的高频模拟输出频率合成器,能够在高达400MHz的频率下生成频率捷变正弦波形。 用户可以访同三个用于控制

    2024年02月16日
    浏览(15)
  • 2023最新水果DAW编曲软件fl studio 21.0.3.351中文版功能介绍/下载安装/语言切换/激活解锁教程

    2023最新水果DAW编曲软件fl studio 21.0.3.351中文版功能介绍/下载安装/语言切换/激活解锁教程 是一款免费的音乐编曲制作软件,有了它你可以制作出色的音乐。它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得更有条理。同时FL Studio为用户提供了更先

    2024年02月08日
    浏览(21)
  • 手机ip地址切换后有什么影响

    随着互联网的普及和人们对网络连接的需求不断增加,手机已经成为我们日常生活中不可或缺的一部分。而在使用手机的过程中,手机ip地址的切换也成为了许多用户需要注意的问题。虎观代理小二二将探讨手机ip地址切换后可能产生的影响。 手机ip地址的含义及作用 手机i

    2024年02月06日
    浏览(20)
  • 手机切换ip地址的几种方法详解

    在某些情况下,我们可能需要切换手机的IP地址来实现一些特定的需求,如解决某些应用程序的限制、绕过IP封禁等。本文将为大家分享几种切换手机IP地址的方法,让您能够轻松应对各种需求。 一、使用动态服务器 使用动态服务器是一种常见的切换手机IP地址的方法。动态服

    2024年02月07日
    浏览(15)
  • Android TelephonyManager双卡获取数据开启状态异常的可能原因

    背景 应用内不指定subId获取数据状态可能会错误,因为可能拿到voice的能力,而非data。 代码逻辑 1、通过TelephonyManager的isDataEnabled()没有指定subId时,调用内部方法isDataEnabledForReason,传入getId()参数以指定subid,然后会执行到SubscriptionManager的getDefaultDataSubscriptionId()以获取默认值

    2024年02月15日
    浏览(14)
  • 【Appium】测试时遇到手机内嵌H5页面的切换问题

    前言 :H5页面简单理解就是在手机内嵌套了一些网页格式的信息,可以让手机的应用看起来更丰富一些。 而当手机内嵌H5页面时,常规的app定位方法就没法使用了,我们需要先 切换 到H5页面才能进行下一步的定位,那该怎么操作呢,详细如下: 目录 一、确认app中哪个页面使

    2024年02月09日
    浏览(17)
  • Unreal5 实现武器切换功能

    ·首先回忆一下之前在制作武器时,如何实现从后背拿武器的。我们创建了一个切换事件,判断当前是否持有武器,然后根据是否持有武器,去修改动画蓝图的变量,来触发从后面拿枪或者是否把枪放了回去。 然后在播放切枪动画时,手伸到背后时,会触发一个动画通知,在

    2024年02月08日
    浏览(19)
  • 利用悬浮窗加PopupWindow实现从手机屏幕右边划出应用快捷切换

    效果如上图所示 安卓小白记录学习过程。一起交流学习。有问题请多多指出。话不多说进入正题。 一、思路 首先明确需求,我们需要做一个右划弹出一个快捷切换应用的弹窗。 悬浮窗可以在其他应用上层显示出来,那么我们可以设置一个透明的悬浮窗让它显示在其他应用上

    2024年02月11日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包