文档章节

Framework层sim卡相关的设计

HouWeiGui
 HouWeiGui
发布于 2017/02/09 17:14
字数 486
阅读 26
收藏 0

1、UiccController

2、SubscriptionControler

 

 

关于切换主卡的实例:

/frameworks/opt/telephony/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java的updateSubscriptionInfoByIccId()在调用setDefaultDataSubId时是否做了客制化?

======具体log分析===================================================================
05-17 16:59:12.271325 9935 9970 I AT : AT< +ESIMS: 0,11 (RIL_URC_READER, tid:0) //-->拔出卡1,SIM卡为ABSENT
05-17 16:59:12.343410 1465 1465 D IccCardProxy: broadcastIccStateChangedIntent intent ACTION_SIM_STATE_CHANGED value=ABSENT reason=null for mPhoneId=0 (slot 0)

05-17 16:59:12.517455 1465 10476 D SubscriptionInfoUpdater: SIM1 hot plug out //-->Framework拿到卡1的拔出状态
05-17 16:59:12.517517 1465 10476 D SubscriptionInfoUpdater: checkAllIccIdReady +, retry_count = 10
05-17 16:59:12.517548 1465 10476 D SubscriptionInfoUpdater: No SIM insert :0
05-17 16:59:12.517564 1465 10476 D SubscriptionInfoUpdater: iccId[0] = N/A
05-17 16:59:12.517593 1465 10476 D SubscriptionInfoUpdater: iccId[1] = 89860116851066658343 //-->卡2拔出状态还没拿到,iccid是有效值
05-17 16:59:12.517611 1465 10476 D SubscriptionInfoUpdater: [updateSubscriptionInfoIfNeed]+
05-17 16:59:12.517667 1465 10476 D SubscriptionInfoUpdater: [updateSubscriptionInfoIfNeed] icc id change, slot[0]
05-17 16:59:12.517709 1465 10476 D SubscriptionInfoUpdater: All IccIds query complete
05-17 16:59:12.518369 1465 10476 D SubscriptionInfoUpdater: [updateSubscriptionInfoIfNeed]- return: true
05-17 16:59:12.518607 1465 10477 D SubscriptionInfoUpdater: updateSubscriptionInfoByIccId:+ Start

05-17 16:59:12.556791 9935 9976 I AT : AT< +ESIMS: 0,11 (RIL_URC2_READER, tid:0) //-->拔出卡2

05-17 16:59:12.995745 1465 10477 D SubscriptionInfoUpdater: zhoush subInfos size = 1 //-->这个log是贵公司添加的
05-17 16:59:12.995763 1465 10477 D SubscriptionInfoUpdater: zhoush setDefaultDataSubId(subInfos.get(0).getSubscriptionId() //-->这里客制化?只有一张卡时切成主卡?

05-17 16:59:12.997524 1465 10477 D SubscriptionController: [setDefaultDataSubId] num phones=2, subId=2 //-->准备切主卡到卡2
05-17 16:59:12.998199 1465 10477 D SubscriptionController: [setDefaultDataSubId] phoneId=0 subId=-2 RAF=65536
05-17 16:59:12.998633 1465 10477 D SubscriptionController: [setDefaultDataSubId] phoneId=1 subId=2 RAF=81930
05-17 16:59:13.007282 1465 10477 D ProxyController: do setRadioCapability //-->开始sim switch
05-17 16:59:13.146071 1465 10477 D SubscriptionInfoUpdater: updateSubscriptionInfoByIccId:- SsubscriptionInfo update complete

05-17 16:59:13.649356 9935 9958 I AT : AT> AT+ES3G=2, 7 (RIL_CMD_READER_3, tid:482091226192) //-->切主卡到卡2的AT

05-17 16:59:13.976900 1465 1465 D IccCardProxy: broadcastIccStateChangedIntent intent ACTION_SIM_STATE_CHANGED value=ABSENT reason=null for mPhoneId=1 (slot 1)
05-17 16:59:14.130866 1465 10528 D SubscriptionInfoUpdater: SIM2 hot plug out //-->这时候Framework才拿到卡2的拔出状态
05-17 16:59:14.190058 1465 10529 D SubscriptionInfoUpdater: updateSubscriptionInfoByIccId:- SsubscriptionInfo update complete
 

© 著作权归作者所有

共有 人打赏支持
HouWeiGui
粉丝 3
博文 42
码字总数 52381
作品 0
深圳
程序员
私信 提问
Entity Framework 实体框架的形成之旅--数据传输模型DTO和实体模型Entity的分离与联合B

在使用Entity Framework 实体框架的时候,我们大多数时候操作的都是实体模型Entity,这个和数据库操作上下文结合,可以利用LINQ等各种方便手段,实现起来非常方便,一切看起来很美好。但是如...

walb呀
2017/12/04
0
0
苹果强推下一代 SIM 卡 诺基亚等厂商强烈反对

智能手机专利大战的硝烟尚未散尽,各大手机厂商又在下一代SIM卡标准的战场上开始斗法。目前,苹果和诺基亚正在为Nano-SIM卡的标准之争做最后的搏斗。虽然谁也不想因SIM卡专利受制于对方,但无...

虫虫
2012/03/23
2.8K
13
Android操作系统面试题

一﹑Android手机操作系统的四层架构? 架构框架以此从上到下: 1.Applications (应用程序(应用层)); Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息...

无鸯
2011/09/05
1K
0
谷歌手机Nexus One能否挑战苹果iPhone

谷歌博客周六发布的文章称,谷歌正在全球员工当中测试一款新的手机,而消息人士透露,这款手机名为Nexus One。这使得谷歌即将推出自有品牌手机的传闻越来越真实。 由于同样基于Android平台,...

红薯
2009/12/13
610
0
SIMCom常见模组外围电路设计

最近一直在搞SIMCom的模组外围电路设计,现在整理一下外围电路设计思路。 1.电源方案 这类通信模组一般瞬间电流可以达到2A左右,所以在供电方案上需要十分注意,否则很容易造成模块死机或者重...

creative_team
04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

局域网共享文件读写的实现方式

首先是设置共享目录,支持用户和密码等权限控制 然后我们可以使用Windows资源管理器操作共享目录下的文件 这中间隐藏了资源管理器帮我们建立目录映射和连接的过程,如果设置了用户名和密码,...

夏至如沫
19分钟前
2
0
Elasticsearch安装与配置

一、Docker安装ES 开发模式 可以使用以下命令快速启动Elasticsearch以进行开发或测试: $ docker run -p 9200:9200 -p 9300:9300 -d --name es -e "discovery.type=single-node" docker.ela...

吴伟祥
25分钟前
1
0
移动页面滚动穿透解决方案(荐)

移动页面滚动穿透解决方法目前有多种解决方案,我介绍下几种方案: 解决方案1:阻止冒泡。 //关键代码$(".sliders,.modals").on("touchmove",function(event){    event.preventDefau...

壹峰
26分钟前
0
0
调用infura实现java项目调用智能合约

https://infura.io/dashboard 注册一个帐号 添加一个project 可选择主网或者其他网络,然后复制地址放进pom.xml中 复制智能合约地址复制到pom.xml中 复制任意一个帐号的private key到pom.xml...

八戒八戒八戒
33分钟前
3
0
vue+koa2+token 登录验证

https://segmentfault.com/a/1190000017379244?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly...

Js_Mei
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部