android SIM Switch功能和配置
SIM Switch feature是Smart 3G switch feature在LTE版本号上发展演变而来的功能;
MTK双卡双待单通版本号仅仅有一个3/4 G Protocol。所以同一时刻仅仅有一个卡能够camp on 3/4G,默认在卡槽1;
与Smart 3G switch功能相应的,LTE版本号上面。MTK有SIM Switch feature,能够在某些case下自己主动将3/4G protocol切给sim2用。
配置:
1.开关SIM Switch功能的配置
在ProjectConfig.mk里面设置
MTK_SIM_SWITCH = yes/no
MTK_SIM_SWITCH_POLICY = 1/2
1: open market rule
2: operator rule
假设 MTK_SIM_SWITCH 为no, MTK_SIM_SWITCH_POLICY 的值将会被忽略。
2.SIM Switch与3G Switch配置的关系:
KK之前的版本号配置3G Swtich;
KK1.MP3,KK1.MP11,配置SIMSwitch;其它KK1的版本号配置3G Switch;
KK1.MP3DS KK2.MP13及之后的版本号。配置SIMSwitch;
自己主动切换规则:
自己主动切换的时机 Bootup / After SIM changes:
1)Normal boot up
2)IPO / Modem reset
3)SIM hot plug / common slot
SIM Switch Policy 提供2种切换规则:
1.Open Market Policy (OM)
Code path:
alps\mediatek\frameworks\base\telephony\java\com\mediatek\telephony\SimSwitchPolicyDefault.java
Open Market Policy Rules:
1)3/4G capability 默认在SIM1
2)仅插1张卡时:
3/4G capability 将会切到这张仅有的SIM卡上
3)插2张卡时:
看卡槽中插的卡是否有上次开机时设定为的,假设有。优先将切给这张卡用(last ICCID saved)
假设没有,则上一次关机3g 开在哪个卡槽就在哪个卡槽.
4)Open Market Policy 总是同意用户手动切换;
2.Operator Policy (OP)
Code path:
alps\mediatek\frameworks\base\telephony\java\com\mediatek\telephony\SimSwitchPolicyOp.java
同意其它的operator定义新的rule,眼下仅实现CMCC的rule.
Operator Policy 仅在某些case下同意用户手动切换.
CMCC的rule:
在open market 切换的基础上,须要遵循例如以下的规则:
1)CMCC policy check rules (优先级)
a)运营商的优先级:
中国移动用户卡 > 非中国大陆运营商
中国大陆非中国移动运营商仅仅能注冊到2G;
b)SIM类型优先级
USIM > SIM
2)同意用户手动切换的条件:
当两张卡的operator和type同样时,才同意用户手动切换。
很多其它关于SIM Switch切换规则的说明,能够參见DMS上面的例如以下文档:
SIM switch policy-LTE.pptx和SIM Switch Introduction-SGLTE DSDS.pptx;
(直接在DMS上面搜索SIM switch就能够找到)
android SIM Switch功能和配置的更多相关文章
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- Android 实现闹钟功能
原文地址:Android 实现闹钟功能作者:Android_Learners 一.手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以 ...
- Android Studio 从安装到配置使用
Android Studio是谷歌为android量身定制的IDE,在2013年谷歌大会上提出之后一直持续更新,现在已经是功能十分强劲的android开发工具,作为一个android开发者,还是早点转 ...
- Android社会化分享功能的实现步骤
众所周知,互联网是一个资源共享的地方,在网络上,我们可以分享我们所有认为好的资源.而随着互联网信息爆发式的增长,我们习惯了一键分享功能,比如:微博分享.微信分享.QQ空间分享.人人网分享等等.由此可见 ...
- SIM卡(单卡)配置
SIM卡相关配置 1.GPIO90--->BPI8 GPIO91--->BPI9 GPIO92--->BPI10 2.ProjectConfig.mk:MTK_PROTOCOL1_R ...
- Android 调用摄像头功能【拍照与视频】
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ma_hoking/article/details/28292973 应用场景: 在Android开发 ...
- Android开启OTG功能/USB Host API功能
Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...
- Android SDK 国内镜像及配置方法
东软信息学院的 Android SDK 镜像,比配置代理下载快. 配置地址, http://mirrors.neusoft.edu.cn/configurations.we#android 配置步骤: ...
- Android Studio调试功能使用总结【转】
Android Studio调试功能使用总结[转] 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...
随机推荐
- server用JDBC对mysql数据库进行操作
1:获取数据库连接 Connection connection=getConnection(); 2:准备SQL语句 3:调用Connection的creatStatement()方法获取Statem ...
- 一站式学习WireShark
一 基础 http://blog.sina.com.cn/s/blog_987e00020102x5k1.html 选中一个数据包,右键选中某一个数据包,然后follow-->Tcp Strea ...
- The while statement
Computers are often used to automate repetitive tasks. Repeating identical or similar tasks without ...
- BZOJ 3931 Dijkstra+网络流
思路: (我能说按照题意模拟么) 用long long inf 要开大--. //By SiriusRen #include <queue> #include <cstdio> ...
- 为什么越来越少的开源项目使用 GPL 协议
原文出处: opensource 译文出处:oschina/王练 前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady 的有趣推文,介绍了开源许可证目前的状态,以 ...
- mySQL主从复制实战
随着访问量的不断增加,单台MySQL数据库服务器压力不断增加,需要对MYSQL进行优化和架构改造,MYQSL优化如果不能明显改善压力情况,可以使用高可用.主从复制.读写分离来.拆分库.拆分表来进行优化 ...
- Unity C# 设计模式(四)抽象工厂模式
定义: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 工厂方法模式针对的是一个产品等级结构:而抽象工厂模式针对的是多个产品等级结构. 抽象工厂模式使用同一个 工厂等级结构负责这 ...
- 【习题 8-20 UVA-1620】Lazy Susan
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 会发现,如果把连续4个数字进行一次翻转的话. 假设这连续的4个数字的逆序数为x; 那么翻转过后,逆序数就会变成6-x; (最多6个逆 ...
- 【UVA 437】The Tower of Babylon(记忆化搜索写法)
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- Java 实现状态(State)模式
/** * @author stone */ public class WindowState { private String stateValue; public WindowState(Stri ...