CN117135614A - 主副卡切换方法及电子设备 - Google Patents
主副卡切换方法及电子设备 Download PDFInfo
- Publication number
- CN117135614A CN117135614A CN202310361901.2A CN202310361901A CN117135614A CN 117135614 A CN117135614 A CN 117135614A CN 202310361901 A CN202310361901 A CN 202310361901A CN 117135614 A CN117135614 A CN 117135614A
- Authority
- CN
- China
- Prior art keywords
- network mode
- protocol stack
- card
- main
- mode value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种主副卡切换方法及电子设备。该方法包括:在第一时刻,接收切换主副卡的第一操作;将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配;为主协议栈匹配第一网络模式,为副协议栈匹配第二网络模式,第一网络模式的性能高于第二网络模式的性能;根据向协议获取的第一卡槽对应的第一上报网络类型、以及第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式。这样,可以避免主副卡快速切换时出现主卡5G开关被关闭的问题,提高用户使用体验。
Description
技术领域
本申请涉及终端设备领域,尤其涉及一种主副卡切换方法及电子设备。
背景技术
随着通信技术的发展,无线通信网络也在逐渐从4G向5G以及将来6G等演进。以5G发展为例,SA(Standalone,独立组网)能力由芯片决定是双卡都支持SA还是仅主卡支持SA,在仅主卡支持SA(即主卡5G副卡4G)主、副卡网络模式不同情况下快速切换主副卡,会导致主副卡网络模式错乱,造成主卡5G开关被关闭。在此情况下,除非用户再次手动开启5G开关,否则主卡只能使用4G网络无法使用5G,上网性能受限。
可见,相关技术中,在主副卡快速切换的场景下存在主卡5G开关可能被关闭的问题,用户需要手动开启5G开关,影响了用户的使用体验。
发明内容
为了解决上述技术问题,本申请提供一种主副卡切换方法及电子设备,避免主副卡快速切换时出现主卡5G开关被关闭的问题,提高用户使用体验。
第一方面,本申请提供一种主副卡切换方法,该方法包括:在第一时刻,接收切换主副卡的第一操作;将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配;为主协议栈匹配第一网络模式,为副协议栈匹配第二网络模式,第一网络模式的性能高于第二网络模式的性能;根据向协议获取的第一卡槽对应的第一上报网络类型、以及第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式。这样,可以避免主副卡快速切换时出现主卡5G开关被关闭的问题,提高用户使用体验。
根据第一方面,将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配之前,还包括:判断第一时刻与第二时刻的差值是否大于预设的第一时长,第二时刻为上一次切换主副卡的时刻;如果是,执行将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配的操作。
根据第一方面,根据向协议获取的第一卡槽对应的第一上报网络类型、以及第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式,包括:如果第一上报网络类型与第一网络模式一致,第二上报网络类型与第二网络模式一致,保持主协议栈已匹配的第一网络模式不变,保持副协议栈已匹配的第二网络模式不变。
根据第一方面,根据向协议获取的第一卡槽对应的第一上报网络类型、以及第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式,包括:如果第一上报网络类型与第一网络模式不一致,第二上报网络类型与第二网络模式不一致,将主协议栈对应的网络模式修改为第一上报网络类型,将副协议栈对应的网络模式修改为第二上报网络类型。
根据第一方面,还包括:监听主卡、副卡的变化;在监听到主卡、副卡变化后,开启主卡的5G开关,关闭副卡的5G开关。
根据第一方面,还包括:在第三时刻,接收切换主副卡的第二操作;根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新;对更新后的数据库中主协议栈和副协议栈的网络模式值进行交换;根据本次切换后协议上报的第二组网络模式值,更新数据库中主协议栈和副协议栈的网络模式值。
根据第一方面,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新之前,还包括:判断第三时刻与第四时刻的差值是否大于预设的第一时长,第四时刻为上一次切换主副卡的时刻;如果是,执行根据上一次切换后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新的操作。
根据第一方面,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新,还包括:判断上一次切换主副卡后的协议上报是否完成;如果是,读取本次切换前数据库中保存的主协议栈对应的第一网络模式值和副协议栈对应的第二网络模式值;根据上一次切换后协议上报的第一组网络模式值,确定主协议栈对应的第一首选网络模式值和副协议栈对应的第二首选网络模式值;判断第一网络模式值与第一首选网络模式值是否一致,以及第二网络模式值与第二首选网络模式值是否一致;若不一致,将数据库中主协议栈对应的第一网络模式值更新为第一首选网络模式值,将副协议栈对应的第二网络模式值更新为第二首选网络模式值。
根据第一方面,对更新后的数据库中主协议栈和副协议栈的网络模式值进行交换,包括:将数据库中主协议栈对应的第一网络模式值与副协议栈对应的第二网络模式值进行交换,交换后,主协议栈对应的网络模式值等于第二首选网络模式值,副协议栈对应的网络模式值等于第一首选网络模式值。
根据第一方面,根据本次切换后协议上报的第二组网络模式值,继续更新数据库中主协议栈和副协议栈的网络模式值,包括:根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;判断第三首选网络模式值与数据库中主协议栈对应的第二首选网络模式值是否一致,以及第四首选网络模式值与数据库中副协议栈对应的第一首选网络模式值是否一致;如果不一致,判断第三首选网络模式值和第四首选网络模式值是否一致;如果一致,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,第一值高于第二值;将第一值和第二值存储到数据库中相应协议栈对应的网络模式中。
根据第一方面,根据本次切换后协议上报的第二组网络模式值,继续更新数据库中主协议栈和副协议栈的网络模式值,包括:根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;判断第三首选网络模式值与数据库中主协议栈对应的第二首选网络模式值是否一致,以及第四首选网络模式值与数据库中副协议栈对应的第一首选网络模式值是否一致;如果不一致,判断第三首选网络模式值和第四首选网络模式值是否一致;如果不一致,将数据库中主协议栈对应的网络模式值修改为第三首选网络模式值,将数据库中副协议栈对应的网络模式值修改为第四首选网络模式值。
根据第一方面,还包括:监听数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;如果数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值相同,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,第一值高于第二值;根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
根据第一方面,还包括:监听数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;如果数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值不同,根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
根据第一方面,根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关,包括:确定数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值两者中的最大值和最小值;开启最大值对应的卡的5G开关,关闭最小值对应的卡的5G开关。
第二方面,本申请提供一种主副卡切换方法,应用于电子设备,方法包括:在第一时刻,接收切换主副卡的第一操作;根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新;对更新后的数据库中主协议栈和副协议栈的网络模式值进行交换;根据本次切换后协议上报的第二组网络模式值,更新数据库中主协议栈和副协议栈的网络模式值。
根据第二方面,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新之前,还包括:判断第一时刻与第二时刻的差值是否大于预设的第一时长,第二时刻为上一次切换主副卡的时刻;如果是,执行根据上一次切换后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新的操作。
根据第二方面,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新,还包括:判断上一次切换主副卡后的协议上报是否完成;如果是,读取本次切换前数据库中保存的主协议栈对应的第一网络模式值和副协议栈对应的第二网络模式值;根据上一次切换后协议上报的第一组网络模式值,确定主协议栈对应的第一首选网络模式值和副协议栈对应的第二首选网络模式值;判断第一网络模式值与第一首选网络模式值是否一致,以及第二网络模式值与第二首选网络模式值是否一致;若不一致,将数据库中主协议栈对应的第一网络模式值更新为第一首选网络模式值,将副协议栈对应的第二网络模式值更新为第二首选网络模式值。
根据第二方面,对更新后的数据库中主协议栈和副协议栈的网络模式值进行交换,包括:将数据库中主协议栈对应的第一网络模式值与副协议栈对应的第二网络模式值进行交换,交换后,主协议栈对应的网络模式值等于第二首选网络模式值,副协议栈对应的网络模式值等于第一首选网络模式值。
根据第二方面,根据本次切换后协议上报的第二组网络模式值,继续更新数据库中主协议栈和副协议栈的网络模式值,包括:根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;判断第三首选网络模式值与数据库中主协议栈对应的第二首选网络模式值是否一致,以及第四首选网络模式值与数据库中副协议栈对应的第一首选网络模式值是否一致;如果不一致,判断第三首选网络模式值和第四首选网络模式值是否一致;如果一致,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,第一值高于第二值;将第一值和第二值存储到数据库中相应协议栈对应的网络模式中。
根据第二方面,根据本次切换后协议上报的第二组网络模式值,继续更新数据库中主协议栈和副协议栈的网络模式值,包括:根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;判断第三首选网络模式值与数据库中主协议栈对应的第二首选网络模式值是否一致,以及第四首选网络模式值与数据库中副协议栈对应的第一首选网络模式值是否一致;如果不一致,判断第三首选网络模式值和第四首选网络模式值是否一致;如果不一致,将数据库中主协议栈对应的网络模式值修改为第三首选网络模式值,将数据库中副协议栈对应的网络模式值修改为第四首选网络模式值。
根据第二方面,还包括:监听数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;如果数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值相同,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,第一值高于第二值;根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
根据第二方面,还包括:监听数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;如果数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值不同,根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
根据第二方面,根据数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关,包括:确定数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值两者中的最大值和最小值;开启最大值对应的卡的5G开关,关闭最小值对应的卡的5G开关。
第三方面,本申请提供一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备执行第一方面或第二方面任意一项的主副卡切换方法。
第四方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行前述的第一方面或第二方面任意一项的主副卡切换方法。
附图说明
图1为示例性示出的电子设备100的结构示意图;
图2为示例性示出的本申请实施例的电子设备100的软件结构框图;
图3为示例性示出的主副卡切换过程的一种流程图;
图4为示例性示出的切换主副卡过程的时序图;
图5为示例性示出的主副卡切换过程的另一种流程图;
图6为示例性示出的本实施例中主副卡切换过程的一种流程图;
图7为示例性示出的本实施例中主副卡切换过程的另一种流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
本申请实施例中的主副卡切换方法可以应用于电子设备,该电子设备例如可以是手机或具有通信功能的其他设备例如平板等。该电子设备的结构可以如图1所示。
图1为示例性示出的电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
请参见图1,电子设备100可以包括:处理器110,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,指示器192,摄像头193等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
其中,电子设备100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明电子设备100的软件结构。
图2为示例性示出的本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android系统可以包括应用程序层、应用程序框架层、系统库以及内核层等。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,设置,地图,WLAN,音乐,短消息,图库,通话,导航,蓝牙,视频等应用程序。
其中,设置应用中可以包括主副卡切换模块,主副卡切换模块用于实现本申请实施例的主副卡切换方法。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器、资源管理器、Telephony等。
其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
Telephony可以提供本实施例中主副卡切换过程中所需的一些函数。
安卓运行时(Android Runtime)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。
如图2所示,内核层可以包括显示驱动、音频驱动、蓝牙驱动、Wi-Fi驱动、传感器驱动等模块。
可以理解的是,图2示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
相关技术中采取的方案是安卓原生+芯片平台的切换数据卡,当用户在“设置”应用的“移动数据”下的“SIM卡管理”切换默认移动数据卡,根据SubscriptionManager.setDefaultDataSubId获取当前切换后主副卡的卡槽设置网络模式数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION,然后执行exchangeNetworkTypeInDB交换双卡的网络模式数据库Settings.Global.PREFERRED_NETWORK_MODE。
固定主协议栈mPrimaryStackPhoneId对应卡槽为0,固定副协议栈mSecondaryStackPhoneId对应卡槽为1,分别向协议请求主协议栈mPrimaryStackPhoneId和副协议栈mSecondaryStackPhoneId对应的网络类型,接收协议上报EVENT_SET_PRIMARY_STACK_LTE_SWITCH_DONE和EVENT_SET_SECONDARY_STACK_LTE_SWITCH_DONE事件,分别设置主协议栈首选网络模式值setPrimaryStackPrefMode和副协议栈首选网络模式值setSecondaryStackPrefMode,并和数据库对应卡槽的网络模式进行对比,如果不一致就将首选网络模式值存入数据库(saveNetworkModeToDB)进行数据库更新,整个过程中移动网络设置的网络制式开关NetworkModeSettingsChangeObserver监听数据库网络模式变化。
图3为示例性示出的主副卡切换过程的一种流程图。如图3所示,包括:
S301,用户切换主副卡。
本实施例中,用户可以在电子设备的“设置”应用中切换主副卡。
以手机1为例,假设手机1为双SIM(Subscriber Identity Module,用户识别卡)卡手机,包括用于安装SIM卡的卡槽0和卡槽1。其中,卡槽0中安装的SIM卡为卡1(假设卡1对应的运营商为电信),卡槽1中安装的SIM卡为卡2(假设卡2对应的运营商为移动)。
本实施例中,卡槽0固定对应主协议栈,卡槽1固定对应副协议栈。
协议栈、卡、卡槽的对应关系如下:
主协议栈——卡1——卡槽0;
副协议栈——卡2——卡槽1。
在步骤S301之前,卡1为主卡,卡2为副卡。
通过步骤S301切换主副卡之后,卡1为副卡,卡2为主卡,主协议栈仍然对应卡槽0,副协议栈仍然对应卡槽1。
需要说明的是,本实施例中,主卡、副卡均为移动数据卡,尽管以SIM卡为例进行说明,但是,本领域技术人员可以理解,本申请的原理同样适用于SIM卡以外的其他移动数据卡。
S302,从数据库获取旧双卡的网络模式(0,69)和(1,22)。
接步骤S301中的示例。在步骤S301之前,卡1的网络模式标识为69(69表示5G),卡2的网络模式标识为22(22表示4G)。
(0,69)中的“0”为卡槽标识,表示卡槽0。同样,(1,22)中的“1”为卡槽标识,表示卡槽1。
其中,数据库存储在“设置”应用中,数据库中存储有卡的网络模式表,该表的内容可以如表1所示。
表1
卡槽标识 | 对应协议栈 | 卡 | 网络模式 |
0 | 主协议栈 | 1 | 69 |
1 | 副协议栈 | 2 | 22 |
S303,交换网络模式并存储到数据库。
接步骤S302中的示例。交换网络模式后,卡1的网络模式标识由69变为22,卡2的网络模式标识由22变为69。即卡1、卡2的网络模式变换过程为:(69,22)—>(22,69)。
经过本步骤后,存储在数据库中的卡1的网络模式为22、卡2的网络模式为69,如表2所示。
表2
卡槽标识 | 对应协议栈 | 卡 | 网络模式 |
0 | 主协议栈 | 1 | 22 |
1 | 副协议栈 | 2 | 69 |
S304,将主协议栈对应的卡槽固定为卡槽0,副协议栈对应的卡槽固定为卡槽1。
S305,向协议分别获取主协议栈、副协议栈对应的卡槽匹配到的网络类型。
网络类型指的是NR(New Radio,新无线)、LTE(Long Term Evolution,长期演进)、CDMA(Code Division Multiple Access,码分多址)、GSM(Global System for MobileCommunications,全球移动通信系统)等,网络模式指5G(标识为69)、4G(标识为22)、3G、2G。网络类型和网络模式一一对应,其中,NR对应5G,LTE对应4G,CDMA对应3G,GSM对应2G。相对应的网络类型和网络模式的网络模式值是相同的,例如,NR和5G的网络模式值都是69。
通过步骤S305,主协议栈和副协议栈会分别上报自己的网络类型。
接前述示例。假设本步骤中,协议获取的主协议栈对应的卡槽0的网络类型(表示为mPrimaryStackNetworkType)为22,协议获取的副协议栈对应的卡槽1的网络类型(表示为mSecondaryStackNetworkType)为69。即主协议栈的网络类型为22,副协议栈的网络类型为69。
S306,根据向协议获取的网络类型给主协议栈和副协议栈的首选网络模式值赋值。
本步骤中,将向协议获取的主协议栈对应的卡槽的网络类型赋给主协议栈的首选网络模式值(表示为mPrimaryStackPrefMode),将向协议获取的副协议栈对应的卡槽的网络类型赋给副协议栈的首选网络模式值(表示为mSecondaryStackPrefMode)。
接步骤S305中的示例。经过步骤S306赋值后,mPrimaryStackPrefMode等于22,当前存储在数据库中的卡1(对应卡槽0)的网络模式为22,二者相同;mSecondaryStackPrefMode等于69,当前存储在数据库中的卡1(对应卡槽1)的网络模式为69,二者相同。这样,本次将主卡由卡1切换到卡2的过程就结束了。
S307,判断首选网络模式值和从当前数据库读出的网络模式值是否不同,如果不同,执行步骤S308,如果相同,结束本次主副卡切换流程。
接步骤S306中的示例。主协议栈的首选网络模式值mPrimaryStackPrefMode等于22,与
S308,将首选网络模式值存入数据库,结束本次主副卡切换流程。
本次主副卡切换流程结束后,主协议栈对应的卡槽0和副协议栈对应的卡槽1的网络模式如表2所示。
步骤S308之后,如果用户再次在设置切换主副卡,那么将重复上述步骤S301至S308的过程。
在图3所示的整个流程中,“设置”应用中的“移动数据”模块始终监听网络模式数据库中网络模式的变化。
图4为示例性示出的切换主副卡过程的时序图。请参见图4,切换主副卡过程的时序可以包括:
S401,HwFullNetworkSetStateQcom2_0设置主卡卡槽。
S402,HwFullNetworkSetStateQcom2_0向HwFullNetworkSetStateUnited发送SendSetRadioCapabilitySuccess。
S403,交换数据库。
S404,请求通信能力。
S405,请求通信能力。
S406,根据协议上报内容设置主协议栈网络模式。
S407,根据协议上报内容设置副协议栈网络模式。
S408,将协议上报网络模式与数据库中的网络模式进行比对,如果不一致,更新数据库中的网络模式。采用图3所示的流程,当用户快速切换主副卡的时候,上一轮协议上报的主协议栈和副协议栈网络类型尚未执行就切换了主卡,导致本次切换先执行上轮协议上报的主副协议栈网络类型,然后和交换后数据网络模式值不一致,上轮的结果更新了本轮数据库即实际双卡主副卡已切换但数据库主副卡网络模式未修改,自此之后用户实际操作的切换双卡与数据库不一致进一步导致协议上报错乱,纠正的数据库网络模式错乱,移动网络设置网络制式监控数据库变化错乱,关闭主卡5G开关,如图5所示。
图5为示例性示出的主副卡切换过程的另一种流程图。如图5所示,主副卡切换过程可以包括:
S501,用户第一次切换主副卡。
本次切换:卡2->卡1。切换后,卡1为主卡。
本实施例中,卡槽0固定对应主协议栈,卡槽1固定对应副协议栈。
协议栈、卡、卡槽的对应关系如下:
主协议栈——卡1——卡槽0;
副协议栈——卡2——卡槽1。
本次切换前数据库中网络模式为(22,69),表示本次切换前,数据库中主协议栈(也即卡槽0、卡1)的网络模式为22,数据库中副协议栈(也即卡槽1、卡2)的网络模式为69。
S502,交换数据库。
即交换数据中主协议栈和副协议栈中的网络模式值。
本次切换后,交换数据库过程是:(22,69)->(69,22)。这样,切换后,数据库中主协议栈的网络模式为69,数据库中副协议栈的网络模式为22。
S503,协议未上报的情况下,用户第二次切换主副卡。
本次切换:卡1>卡2。切换后,卡2为主卡。
S504,接收到协议上一轮上报的网络模式(69,22)。
即上一轮协议上报的主协议栈的网络模式为69,上报的副协议栈的网络模式为22。
S505,进行本轮数据库交换。
本轮数据库交换的过程是:(69,22)->(22,69)。这样,交换后,数据库中主协议栈的网络模式为22,数据库中副协议栈的网络模式为69。
S506,将数据库中的网络模式(22,69)与上一轮上报的网络模式(69,22)进行比对,不一致,更新数据库中的网络模式为(69,22)。
这样,导致结果当前结果(69,22)->(69,22)与用户操作相反,用户已经设置主卡为卡2,受芯片制约仅主卡支持SA,卡1作为副卡无法上报5G信号。
S507,协议未上报的情况下,用户第三次切换主副卡。
本次切换:卡2->卡1。切换后,卡1为主卡。
S508,接收到协议上一轮上报的网络模式(22,22)。
即上一轮协议上报的主协议栈的网络模式为22,上报的副协议栈的网络模式为22。
S509,进行本轮数据库交换。
本轮数据库交换的过程是:(69,22)->(22,69)。这样,交换后,数据库中主协议栈的网络模式为22,数据库中副协议栈的网络模式为69。
S510,将数据库中的网络模式(22,69)与上一轮上报的网络模式(22,22)进行比对,不一致,更新数据库中的网络模式为(22,22),如表3所示。
这样,就导致主卡5G开关被关闭。
表3
卡槽标识 | 对应协议栈 | 卡 | 网络模式 |
0 | 主协议栈 | 1 | 22 |
1 | 副协议栈 | 2 | 22 |
在图5所示的整个流程中,“设置”应用中的“移动数据”模块始终监听网络模式数据库中网络模式的变化,当监听到表3所示的网络模式时,关闭主卡的5G开关。
本实施例中切换主副卡的详细过程请参见图6。
本实施例中,正向通过保序纠错算法保证主副协议栈对应的网络模式数据不错乱,移动网络设置显示网络制式开关正确的办法。
用户在设置-移动网络-SIM卡管理切换默认移动数据卡,如果双卡切换间隔时延小于100ms视为无效切换不进行操作减少时序处理,之后无切换或大于100ms视为有效操作。
有效切换后根据SubscriptionManager.getDefaultDataSubId获取当前切换后主副卡的卡槽设置数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION。
通过setNetworkType for card1判断上一轮协议上报的主副协议栈网路类型是否执行完全,若执行完全按照一般逻辑交换双卡数据库exchangeNetworkTypeInDB,然后向协议发送请求然后根据上报获取首选网络模式值和同切换前的数据库网络模式beforePrefMode进行对比,以首选网络模式值为准存储数据库Settings.Global.PREFERRED_NETWORK_MODE。
若上一轮执行未完全,本轮切换前的数据库网络模式状态beforePrefMode理应为上轮切换saveNetworkTypeToDB的结果,读取协议上报的上轮主副协议栈的网络类型并赋给首选网络模式值,和切换前的数据库beforePrefMode值进行对比,若不一致再以首选网络模式值为准更新数据库Settings.Global.PREFERRED_NETWORK_MODE。
本轮主副卡切换以更新后数据库进行双卡交换,然后向协议发送请求然后根据上报获取首选网络模式值和切换后的数据库进行对比,如果不一致以首选网络模式值为准,并进行判断主副协议栈首选网络模式值是否相同,如果相同根据卡槽设置数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION对应主卡卡槽的协议栈的首选网络模式值设置为高值,副卡卡槽的协议栈的首选网络模式值设置为低值,并将首选网络模式值存入数据库Settings.Global.PREFERRED_NETWORK_MODE。
整个过程中移动网络设置的网络制式开关NetworkModeSettingsChangeObserver监听数据库网络模式变化,得到的双卡网络模式值进行处理,如果相同根据卡槽设置数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION对应主卡卡槽网络模式值设置为高值,副卡卡槽的网络模式值设置为低值,根据网络模式控制主副卡的网络制式开关,即高值打开5G开关,低值关闭5G开关。
图6为示例性示出的本实施例中主副卡切换过程的一种流程图。如图6所示,本实施例中,主副卡切换过程可以包括:
S601,用户在t2时刻切换主副卡。
本实施例中,用户可以在电子设备的“设置”应用中切换主副卡。
初始状态下,卡1为主卡,卡2为副卡。数据库中存储的网络模式值为。
假设在步骤S601之前,用户进行了第1次主副卡切换(切换时刻为t1),步骤S601为用户进行的第2次主副卡切换(切换时刻为t2,t2大于t1,即t2时刻在t1时刻之后)。
图6所示实施例中,协议栈、卡、卡槽保持如下的对应关系不变:
主协议栈——卡1——卡槽0;
副协议栈——卡2——卡槽1。
S602,判断t2时刻与上一次切换主副卡的t1时刻之间的时长是否小于100ms(毫秒),如果是,结束流程,否则执行步骤S603。
时长T等于当前时刻t1与时刻t2的差。如果T小于100ms,结束流程,如果T大于或等于100ms,执行步骤S603。
需要说明的是,本实施例中设置的时间阈值为100ms,然而,本领域技术人员可以理解,根据实际要求的不同,也可以将时间阈值调整为其他的数值。
当然,在其他实施例中,也可以不包括步骤S602,而是直接执行S603。
S603,判断上一轮切换中的协议上报是否完成,如果是,执行步骤S604,否则执行步骤S608。
本步骤中,上一轮切换中的协议上报完成是指用户第1次主副卡切换过程中的协议上报,为描述方便,将用户第1次主副卡切换过程中的协议上报称为协议上报1,用户第2次主副卡切换过程中的协议上报称为协议上报2。
S604,读取本次切换前数据库中的网络模式值。
S605,读取协议上报的上一轮主协议栈、副协议栈的网络类型并赋值给首选网络模式值。
本步骤中,协议上报的上一轮主协议栈、副协议栈的网络类型即协议上报1上报的主、副协议栈的网络类型。
S606,判断当前的首选网络模式值与本次切换前数据库中的相应网络模式值是否相同,如果否,执行步骤S607,如果是执行步骤S608。
S607,以首选网络值为准更新数据库,执行步骤S608。
S608,交换数据库中的双卡网络模式值并存储到数据库。
S609,读取协议上报的本轮主协议栈、副协议栈的网络类型并赋给首选网络模式值。
本步骤中,协议上报的本轮主副协议栈的网络类型即前述的协议上报2上报的主、副协议栈的网络类型。
S610,判断首选网络模式值与交换后的数据库中的网络模式值是否不同,如果是(即首选网络模式值与交换后的数据库中的网络模式值不同),执行步骤S611,否则执行步骤S613。
S611,判断主协议栈的首选网络模式值与副协议栈的首选网络模式值是否相同,如果是,执行步骤S612,否则执行步骤S613。
S612,将主卡卡槽对应的协议栈的首选网络模式值修改为高值,将副卡卡槽对应的协议栈的首选网络模式值修改为低值。
S613,将主协议栈、副协议栈的首选网络模式值存储到数据库中,结束。
在图6所示过程中,移动网络的“设置”监听网络模式数据库变化,设置5G开关。“设置”判断主协议栈、副协议栈的首选网络模式值是否相同,如果相同,将主卡卡槽对应的协议栈的首选网络模式值修改为高值,将副卡卡槽对应的协议栈的首选网络模式值修改为低值,然后根据首选网络模式值设置5G开关。如果不同,执行根据首选网络模式值设置5G开关的操作。
本实施例还提出一种全新思路的保证网络制式开关正确的办法,即不通过交换数据库的方式灵活处理主副协议栈网络模式保证正确,移动网络设置界面监听用户切换数据库操作,从而保证网络制式开关正确的办法。
本实施例中,用户在设置-移动数据-SIM卡管理切换默认移动数据卡,如果双卡切换间隔时延小于100ms视为无效切换不进行操作,之后无切换或大于100ms视为有效操作。
有效切换根据SubscriptionManager.setDefaultDataSubId获取当前切换后主副卡的卡槽设置数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION,整个过程中移动网络设置的网络制式开关MainSlotSettingsChangeObserver监听主副卡变化进行显示,主卡显示5G开关并打开,副卡不显示5G开关。
发送广播通知主协议栈mPrimaryStackPhoneId和副协议栈mSecondaryStackPhoneId动态匹配卡槽设置数据库Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION的主副卡,实现真正意义上的主副协议栈与主副卡对应。mPrimaryStackPhoneId进行固定匹配主协议栈网络类型mPrimaryStackNetworkType为高性能网络制式如5G(RILConstants.NETWORK_MODE_NR_LTE_EVDO_CDMA_WCDMA_GSM//69),mSecondaryStackPhoneId进行固定匹配副协栈网络类型SecondaryStackNetworkType
为低性能网络制式如4G(RILConstants.NETWORK_MODE_TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA//22)。
为保证准确分别向协议请求mPrimaryStackPhoneId和mSecondaryStackPhoneId对应的主副协议栈的网络类型,接收协议上报EVENT_SET_PRIMARY_STACK_LTE_SWITCH_DONE和EVENT_SET_SECONDARY_STACK_LTE_SWITCH_DONE事件,分别设置主协议栈首选网络值setPrimaryStackPrefMode和副协议栈首选网络值setSecondaryStackPrefMode,
并和上述固定匹配的主副协议栈网络类型进行对比,如果不一致以协议上报的网络类型为为准,通知相关调用模块如systemUI。
图7为示例性示出的本实施例中主副卡切换过程的另一种流程图。如图7所示,包括:
S701,用户在t2时刻切换主副卡。
本实施例中,不再设置数据库。
本实施例中,用户可以在电子设备的“设置”应用中切换主副卡。
仍以手机1为例,手机1为双SIM卡手机,包括用于安装SIM卡的卡槽0和卡槽1。其中,卡槽0中安装卡1,卡槽1中安装卡2。与前述实施例不同的是,本实施例中,卡槽与协议栈之间没有固定对应关系。
初始状态下,卡1为主卡,卡2为副卡。
在步骤S701之前,用户进行了第1次主副卡切换(切换时刻为t1),步骤S701为用户进行的第2次主副卡切换(切换时刻为t2,t2大于t1,即t2时刻在t1时刻之后)。
S702,判断t2时刻与上一次切换主副卡的t1时刻之间的时长是否小于100ms(毫秒),如果是,结束,否则执行步骤S703。
本步骤中的切换时刻是指步骤S701中切换主副卡的时刻。
时长T等于时刻t1与时刻t2的差。如果T小于100ms,S70S70结束流程,如果T大于或等于100ms,执行步骤S703。
需要说明的是,本实施例中设置的时间阈值为100ms,然而,本领域技术人员可以理解,根据实际要求的不同,也可以将时间阈值调整到其他的数值。
当然,在其他实施例中,也可以不包括步骤S702,而是直接执行S703。
S703,将主协议栈ID与本次切换后的主卡所在卡槽匹配,将副协议栈ID与用户设置的副卡所在卡槽匹配。
匹配的结果是:主卡卡槽对应主协议栈,副卡卡槽对应副协议栈。例如,假设切换后主卡所在卡槽为卡槽0,副卡所在卡槽为卡槽1,那么经过本步骤匹配后,主协议栈ID(mPrimaryStackPhoneId)为0,副协议栈ID(mSecondaryStackPhoneId)为1。
由于每次切换后主卡、副卡所在的卡槽都会变化,因此每次切换都需要按照本步骤重新匹配主协议栈ID和副协议栈ID。
S704,为主协议栈ID匹配高性能网络模式,为副协议栈ID匹配低性能网络模式。
接步骤S703中的示例,主协议栈ID(mPrimaryStackPhoneId)0匹配的网络模式为69,副协议栈ID(mSecondaryStackPhoneId)1匹配的网络模式为22。
S705,向协议获取主协议栈匹配的卡槽对应的网络类型和副协议栈匹配的卡槽对应的网络类型。
本步骤中,假设协议上报的主协议栈的网络类型mPrimaryStackNetworkType为22,协议上报的副协议栈的网络类型SecondaryStackNetworkType为69。
S706,判断为主协议栈、副协议栈已匹配的网络模式与协议上报的主协议栈的网络类型、副协议栈的网络类型是否对应一致,如果是,结束,否则执行步骤S707。
本步骤中,对应一致是指,为主协议栈已匹配的网络模式与协议上报的主协议栈的网络类型是否一致,为副协议栈已匹配的网络模式与协议上报的副协议栈的网络类型是否一致。
S707,将主协议栈对应的网络模式设置为与协议上报的主协议栈的网络类型一致,将副协议栈对应的网络模式设置为与协议上报的副协议栈的网络类型一致,结束。
接步骤S706中的示例,步骤S704中为主协议栈匹配的网络模式为69,步骤S705中协议上报的主协议栈的网络类型为22,因此将主协议栈对应的网络模式设置为22。同理,步骤S704中为副协议栈匹配的网络模式为22,步骤S705中协议上报的主协议栈的网络类型为69,因此将副协议栈对应的网络模式设置为69。
由图7所示实施例可见,本实施例不再采用交换数据库的方式,让移动网络设置的网络制式开关直接监视事实意义上用户操作的主副卡,即主卡打开5G开关,副卡不显示5G开关;同时主副协议栈对应事实意义上的卡槽,并且固定匹配网络模式即主协议栈对应高网络模式如5G,副协议栈对应低网络模式如4G,然后协议上报网络模式进行对比纠正,然后通知其他模块如systemUI网络制式显示。
以上各实施例可以适用于芯片仅主卡支持SA(即主卡5G副卡4G)主、副卡网络模式不同情况下快速切换主副卡的场景。本实施例还可以适用于将来更高性能网络制式出现发展初期如6G,受芯片能力的限制,在双卡支持的网络模式不同下切换主副卡的场景,提高用户使用新通信技术的体验,同时在通信手动和自动搜网、实体卡和虚拟卡切换等场景上更稳定。
本申请实施例还提供一种电子设备,该电子设备包括存储器和处理器,存储器与处理器耦合,存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备前述电子设备所执行的主副卡切换方法。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的主副卡切换方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的主副卡切换方法。
另外,本申请实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的主副卡切换方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (25)
1.一种主副卡切换方法,其特征在于,应用于电子设备,所述方法包括:
在第一时刻,接收切换主副卡的第一操作;
将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配;
为主协议栈匹配第一网络模式,为副协议栈匹配第二网络模式,所述第一网络模式的性能高于所述第二网络模式的性能;
根据向协议获取的所述第一卡槽对应的第一上报网络类型、以及所述第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式。
2.根据权利要求1所述的方法,其特征在于,将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配之前,还包括:
判断所述第一时刻与第二时刻的差值是否大于预设的第一时长,所述第二时刻为上一次切换主副卡的时刻;
如果是,执行将主协议栈与本次切换后的主卡所在的第一卡槽匹配,将副协议栈与本次切换后的副卡所在的第二卡槽匹配的操作。
3.根据权利要求1所述的方法,其特征在于,根据向协议获取的所述第一卡槽对应的第一上报网络类型、以及所述第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式,包括:
如果所述第一上报网络类型与所述第一网络模式一致,所述第二上报网络类型与所述第二网络模式一致,保持主协议栈已匹配的所述第一网络模式不变,保持副协议栈已匹配的所述第二网络模式不变。
4.根据权利要求1所述的方法,其特征在于,根据向协议获取的所述第一卡槽对应的第一上报网络类型、以及所述第二卡槽对应的第二上报网络类型,确定主协议栈对应的网络模式以及副协议栈对应的网络模式,包括:
如果所述第一上报网络类型与所述第一网络模式不一致,所述第二上报网络类型与所述第二网络模式不一致,将主协议栈对应的网络模式修改为所述第一上报网络类型,将副协议栈对应的网络模式修改为所述第二上报网络类型。
5.根据权利要求1所述的方法,其特征在于,还包括:
监听主卡、副卡的变化;
在监听到主卡、副卡变化后,开启主卡的5G开关,关闭副卡的5G开关。
6.根据权利要求1所述的方法,其特征在于,还包括:
在第三时刻,接收切换主副卡的第二操作;
根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新;
对更新后的所述数据库中主协议栈和副协议栈的网络模式值进行交换;
根据本次切换后协议上报的第二组网络模式值,更新所述数据库中主协议栈和副协议栈的网络模式值。
7.根据权利要求6所述的方法,其特征在于,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新之前,还包括:
判断所述第三时刻与第四时刻的差值是否大于预设的第一时长,所述第四时刻为上一次切换主副卡的时刻;
如果是,执行根据上一次切换后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新的操作。
8.根据权利要求6所述的方法,其特征在于,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新,还包括:
判断上一次切换主副卡后的协议上报是否完成;
如果是,读取本次切换前数据库中保存的主协议栈对应的第一网络模式值和副协议栈对应的第二网络模式值;
根据上一次切换后协议上报的第一组网络模式值,确定主协议栈对应的第一首选网络模式值和副协议栈对应的第二首选网络模式值;
判断所述第一网络模式值与所述第一首选网络模式值是否一致,以及所述第二网络模式值与所述第二首选网络模式值是否一致;
若不一致,将所述数据库中主协议栈对应的第一网络模式值更新为所述第一首选网络模式值,将副协议栈对应的第二网络模式值更新为所述第二首选网络模式值。
9.根据权利要求8所述的方法,其特征在于,对更新后的所述数据库中主协议栈和副协议栈的网络模式值进行交换,包括:
将所述数据库中主协议栈对应的第一网络模式值与副协议栈对应的第二网络模式值进行交换,交换后,主协议栈对应的网络模式值等于所述第二首选网络模式值,副协议栈对应的网络模式值等于所述第一首选网络模式值。
10.根据权利要求9所述的方法,其特征在于,根据本次切换后协议上报的第二组网络模式值,继续更新所述数据库中主协议栈和副协议栈的网络模式值,包括:
根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;
判断所述第三首选网络模式值与所述数据库中主协议栈对应的所述第二首选网络模式值是否一致,以及所述第四首选网络模式值与所述数据库中副协议栈对应的所述第一首选网络模式值是否一致;
如果不一致,判断所述第三首选网络模式值和所述第四首选网络模式值是否一致;
如果一致,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,所述第一值高于所述第二值;
将所述第一值和所述第二值存储到所述数据库中相应协议栈对应的网络模式中。
11.根据权利要求9所述的方法,其特征在于,根据本次切换后协议上报的第二组网络模式值,继续更新所述数据库中主协议栈和副协议栈的网络模式值,包括:
根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;
判断所述第三首选网络模式值与所述数据库中主协议栈对应的所述第二首选网络模式值是否一致,以及所述第四首选网络模式值与所述数据库中副协议栈对应的所述第一首选网络模式值是否一致;
如果不一致,判断所述第三首选网络模式值和所述第四首选网络模式值是否一致;
如果不一致,将所述数据库中主协议栈对应的网络模式值修改为所述第三首选网络模式值,将所述数据库中副协议栈对应的网络模式值修改为所述第四首选网络模式值。
12.根据权利要求6所述的方法,其特征在于,还包括:
监听所述数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;
如果所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值相同,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,所述第一值高于所述第二值;
根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
13.根据权利要求6所述的方法,其特征在于,还包括:
监听所述数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;
如果所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值不同,根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
14.根据权利要求12或13所述的方法,其特征在于,根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关,包括:
确定所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值两者中的最大值和最小值;
开启所述最大值对应的卡的5G开关,关闭所述最小值对应的卡的5G开关。
15.一种主副卡切换方法,其特征在于,应用于电子设备,所述方法包括:
在第一时刻,接收切换主副卡的第一操作;
根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新;
对更新后的所述数据库中主协议栈和副协议栈的网络模式值进行交换;
根据本次切换后协议上报的第二组网络模式值,更新所述数据库中主协议栈和副协议栈的网络模式值。
16.根据权利要求15所述的方法,其特征在于,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新之前,还包括:
判断所述第一时刻与第二时刻的差值是否大于预设的第一时长,所述第二时刻为上一次切换主副卡的时刻;
如果是,执行根据上一次切换后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新的操作。
17.根据权利要求15所述的方法,其特征在于,根据上一次切换主副卡后协议上报的第一组网络模式值,对本次切换前数据库中保存的主协议栈和副协议栈的网络模式值进行更新,还包括:
判断上一次切换主副卡后的协议上报是否完成;
如果是,读取本次切换前数据库中保存的主协议栈对应的第一网络模式值和副协议栈对应的第二网络模式值;
根据上一次切换后协议上报的第一组网络模式值,确定主协议栈对应的第一首选网络模式值和副协议栈对应的第二首选网络模式值;
判断所述第一网络模式值与所述第一首选网络模式值是否一致,以及所述第二网络模式值与所述第二首选网络模式值是否一致;
若不一致,将所述数据库中主协议栈对应的第一网络模式值更新为所述第一首选网络模式值,将副协议栈对应的第二网络模式值更新为所述第二首选网络模式值。
18.根据权利要求17所述的方法,其特征在于,对更新后的所述数据库中主协议栈和副协议栈的网络模式值进行交换,包括:
将所述数据库中主协议栈对应的第一网络模式值与副协议栈对应的第二网络模式值进行交换,交换后,主协议栈对应的网络模式值等于所述第二首选网络模式值,副协议栈对应的网络模式值等于所述第一首选网络模式值。
19.根据权利要求18所述的方法,其特征在于,根据本次切换后协议上报的第二组网络模式值,继续更新所述数据库中主协议栈和副协议栈的网络模式值,包括:
根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;
判断所述第三首选网络模式值与所述数据库中主协议栈对应的所述第二首选网络模式值是否一致,以及所述第四首选网络模式值与所述数据库中副协议栈对应的所述第一首选网络模式值是否一致;
如果不一致,判断所述第三首选网络模式值和所述第四首选网络模式值是否一致;
如果一致,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,所述第一值高于所述第二值;
将所述第一值和所述第二值存储到所述数据库中相应协议栈对应的网络模式中。
20.根据权利要求18所述的方法,其特征在于,根据本次切换后协议上报的第二组网络模式值,继续更新所述数据库中主协议栈和副协议栈的网络模式值,包括:
根据本次切换后协议上报的第二组网络模式值,确定主协议栈对应的第三首选网络模式值和副协议栈对应的第四首选网络模式值;
判断所述第三首选网络模式值与所述数据库中主协议栈对应的所述第二首选网络模式值是否一致,以及所述第四首选网络模式值与所述数据库中副协议栈对应的所述第一首选网络模式值是否一致;
如果不一致,判断所述第三首选网络模式值和所述第四首选网络模式值是否一致;
如果不一致,将所述数据库中主协议栈对应的网络模式值修改为所述第三首选网络模式值,将所述数据库中副协议栈对应的网络模式值修改为所述第四首选网络模式值。
21.根据权利要求15所述的方法,其特征在于,还包括:
监听所述数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;
如果所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值相同,将本次切换后的主卡所在的第一卡槽对应的协议栈的首选网络模式值修改为第一值,将本次切换后的副卡所在的第二卡槽对应的协议栈的首选网络模式值修改为第二值,所述第一值高于所述第二值;
根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
22.根据权利要求15所述的方法,其特征在于,还包括:
监听所述数据库中主协议栈对应的网络模式值和副协议栈对应的网络模式值;
如果所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值不同,根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关。
23.根据权利要求21或22所述的方法,其特征在于,根据所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值设置主卡和副卡的预设网络模式开关,包括:
确定所述数据库中主协议栈对应的网络模式值与副协议栈对应的网络模式值两者中的最大值和最小值;
开启所述最大值对应的卡的5G开关,关闭所述最小值对应的卡的5G开关。
24.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行权利要求1-23中任意一项所述的主副卡切换方法。
25.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-23中任意一项所述的主副卡切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361901.2A CN117135614B (zh) | 2023-03-31 | 2023-03-31 | 主副卡切换方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361901.2A CN117135614B (zh) | 2023-03-31 | 2023-03-31 | 主副卡切换方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135614A true CN117135614A (zh) | 2023-11-28 |
CN117135614B CN117135614B (zh) | 2024-07-30 |
Family
ID=88853378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310361901.2A Active CN117135614B (zh) | 2023-03-31 | 2023-03-31 | 主副卡切换方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135614B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686574A (zh) * | 2016-12-27 | 2017-05-17 | 深圳市万普拉斯科技有限公司 | Dds卡设置方法和装置及基于双卡的设置dds卡的方法和装置 |
WO2017107355A1 (zh) * | 2015-12-22 | 2017-06-29 | 宇龙计算机通信科技(深圳)有限公司 | 一种网络模式配置方法及移动终端 |
CN108337743A (zh) * | 2018-03-27 | 2018-07-27 | 青岛海信移动通信技术股份有限公司 | 一种双卡双系统的终端设备及其通信方法 |
CN112118566A (zh) * | 2020-09-23 | 2020-12-22 | 努比亚技术有限公司 | 一种网络模式调控方法、设备及计算机可读存储介质 |
CN113596810A (zh) * | 2020-04-30 | 2021-11-02 | 荣耀终端有限公司 | 基于双卡的网络制式切换方法及终端设备 |
-
2023
- 2023-03-31 CN CN202310361901.2A patent/CN117135614B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107355A1 (zh) * | 2015-12-22 | 2017-06-29 | 宇龙计算机通信科技(深圳)有限公司 | 一种网络模式配置方法及移动终端 |
CN106686574A (zh) * | 2016-12-27 | 2017-05-17 | 深圳市万普拉斯科技有限公司 | Dds卡设置方法和装置及基于双卡的设置dds卡的方法和装置 |
CN108337743A (zh) * | 2018-03-27 | 2018-07-27 | 青岛海信移动通信技术股份有限公司 | 一种双卡双系统的终端设备及其通信方法 |
CN113596810A (zh) * | 2020-04-30 | 2021-11-02 | 荣耀终端有限公司 | 基于双卡的网络制式切换方法及终端设备 |
WO2021218494A1 (zh) * | 2020-04-30 | 2021-11-04 | 荣耀终端有限公司 | 基于双卡的网络制式切换方法及终端设备 |
CN112118566A (zh) * | 2020-09-23 | 2020-12-22 | 努比亚技术有限公司 | 一种网络模式调控方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117135614B (zh) | 2024-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398626B (zh) | 一种信息传输方法、通信装置和系统 | |
CN114079892A (zh) | 蓝牙通信方法、可穿戴设备及系统 | |
CN113133074B (zh) | WiFi网络切换方法和装置 | |
CN113993226B (zh) | 支持双卡的终端设备中业务处理方法和装置 | |
CN110933712A (zh) | 一种数据传输方法、终端及存储介质 | |
EP4319422A1 (en) | Communication method and device used for pusch, and storage medium | |
CN107466087B (zh) | 一种网络搜索方法及移动终端 | |
CN117135614B (zh) | 主副卡切换方法及电子设备 | |
CN112243218B (zh) | 一种数据业务的传输方法及电子设备 | |
CN114827973B (zh) | 双耳一致性控制方法、图形界面、系统及相关装置 | |
CN113950037B (zh) | 一种音频播放方法及终端设备 | |
CN116368460A (zh) | 音频处理方法、装置 | |
EP3826208A1 (en) | Data transmission method and apparatus, and storage medium | |
CN115398811B (zh) | 一种开关装置、通信方法及相关设备 | |
JP7353509B2 (ja) | リソース構成の指示方法、端末機器及び記憶媒体 | |
EP4224958A1 (en) | Channel transmission method and apparatus, and storage medium | |
US20230363019A1 (en) | Method for information transmission | |
JP2021510020A (ja) | 無線通信方法及び装置 | |
CN112399628B (zh) | 一种随机接入方法、电子设备及网络设备 | |
CN115412387A (zh) | 一种音频播放方法、系统及电子设备 | |
RU2806449C1 (ru) | Способ и устройство для передачи канала и носитель данных | |
CN115915396B (zh) | 寻呼方法及电子设备 | |
CN114390569B (zh) | 同步信号块的测量方法、装置和移动终端 | |
CN110999340A (zh) | 近距离无线通信装置及方法 | |
CN113660732B (zh) | 一种耳机通信方法、系统及一种耳机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |