文档章节

Framework层sim卡相关的设计

HouWeiGui
 HouWeiGui
发布于 2017/02/09 17:14
字数 486
阅读 51
收藏 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
粉丝 4
博文 42
码字总数 52381
作品 0
深圳
程序员
私信 提问
Android FrameWork层框架

Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。   F...

天王盖地虎626
06/06
9
1
Android操作系统面试题

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

无鸯
2011/09/05
1K
0
苹果强推下一代 SIM 卡 诺基亚等厂商强烈反对

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

虫虫
2012/03/23
2.9K
13
Entity Framework 实体框架的形成之旅--数据传输模型DTO和实体模型Entity的分离与联合B

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

walb呀
2017/12/04
0
0
谷歌手机Nexus One能否挑战苹果iPhone

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

红薯
2009/12/13
614
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Security 自定义登录认证(二)

一、前言 本篇文章将讲述Spring Security自定义登录认证校验用户名、密码,自定义密码加密方式,以及在前后端分离的情况下认证失败或成功处理返回json格式数据 温馨小提示:Spring Security...

郑清
29分钟前
3
0
php yield关键字以及协程的实现

php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解 Iterator接口 在php中,除了数组,对象可以被foreach遍历之外,还有另外一种特殊对象,也就是继承...

冻结not
42分钟前
4
0
servlet请求和响应的过程

本文转载于:专业的前端网站➥servlet请求和响应的过程 1.加载 Servlet类被加载到Java虚拟机中,并且实例化。在这个过程中,web容器(例如tomcat)会调用Servlet类的公开无参构造函数,产生一...

前端老手
42分钟前
4
0
golang 1.13 errors 包来了,不用写“err 气功波”代码

引 这篇是对 errors 包 的姿势挖掘 气功波错误代码 从 http.Get()返回的错误 判断 syscall.ECONNREFUSED 错误.以前要对 go 标准库 error 结构有点熟悉,才能写出下面的代码 func CmdErr(err ...

guonaihong
46分钟前
28
0
喜玛拉雅已听书单

时间倒序排 书名 作者 状态 唐砖 孑与2 进行中 死灵之书(克苏鲁神话合集) 阿卜杜拉·阿尔哈萨德 进行中 赡养人类 刘慈欣 完结 赡养上帝 刘慈欣 完结 中国太阳 刘慈欣 完结 中国太阳 刘慈欣...

Alex_Java
47分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部