自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 WIFI热点鉴权

第1章 WIFI热点鉴权Wifi热点是将手机接收的GPRS、3G或4G信号转化为wifi信号发出去的技术,手机必须有无线AP功能,才能当做热点。1.1 主要相关类 1、TetherSettings:是WiFi热点对应的界面; 2、WifiTetherSwitchBarController.java是用来负责热电开关的相关处理逻辑; 3、WifiTetherPr...

2019-05-24 17:23:51 1652

原创 特殊字符处理流程

第1章 特殊字符处理流程1.1 处理字符入口1.1.1 拨号盘接受特殊字符DialpadFragment. afterTextChanged---》SpecialCharSequenceMgr.handleChars—》handleDeviceIdDisplay方法1.2.1特殊字符传输/packages/apps/Dialer/java/com/android/dialer/...

2019-05-20 16:08:39 722

原创 qcril:第2章 运行状态中的ril_event事件处理机制

第2章 运行状态中的ril_event事件处理机制1.1 认识ril_event结构体 ril_event结构体定义在hardware/ril/ril_event.h头文件中。struct ril_event { struct ril_event *next; //下一个ril_event; struct ril_event *prev; //上一个ri...

2019-04-30 15:20:14 602

原创 获取手机联系人

第2章 获取手机联系人源码路径:/frameworks/base/telephony/java/com/android/internal/telephony/IccProvider路径:/frameworks/opt/telephony/src/java/com/android/internal/telephony/IccProvider.javaSIM联系人的标记为EF_ADN...

2019-04-30 15:19:55 927

原创 qcril:第1章 RILD及Qcril初始化流程

第1章 RILD及Qcril初始化流程 Rild是android提供的框架,位置位于AP侧(AP主处理器),对接Phone进程和BP侧modem。(BP从处理器)图1 双卡手机在phone进程中会有2个phone的实例对应各个卡槽,相应的RILD进程也会有2个,phone和RILD之间通过Socket保持连接,各卡槽之间的操作互相独立。 高通用qcril+qm...

2019-04-30 15:19:27 3767

原创 qcril:第3章 RILJ运行机制

第3章 RILJ运行机制3.1 rilj运行机制RILJ的java对象也称为RILJ,包括RILSender和RILReceiver。Socilited:对之前RILJ发出的request进行回应的消息;Unsolicited:modem主动上报的消息。(单方向:RILC--->RILJ)RILJ运行机制,如下图:总体流程:Request请求消息类(so...

2019-04-30 15:19:13 544

原创 qcril:第4章 RILC运行机制

第4章 RILC运行机制4.1 RILC运行机制RILC代码重点在于:hardware/ril/libril(Runtime运行环境的源文件)、hardware/ril/reference-ril.so、hardware/ril/rild这三个目录下的C/C++代码文件。Rilc运行在UserLibraries系统运行库中的HAL层,它使用HAL Stub运行结构。最关键的为Runti...

2019-04-30 15:19:02 1829

原创 第2章 来电流程

第2章 来电流程2.1 callState发生变化当callstate发生改变时,RadioIndication.callStateChanged()调用RIL的processIndication向底层发送确认收到消息;notifyRegistrants通知他的观察者。RadioIndication继承的RadioIndication.Stub在IRadio.hal中定义了接口。R...

2019-04-29 16:16:48 885

原创 第1章 主动拨号流程分析

第1章 主动拨号流程分析Java Application应用层《--------》Dialer拨号盘和Phone应用;Java Frameworks 框架层《--------》Telephony Frameworks层User Libraries系统运行库层《--------》RIL层拨打电话的大致流程是:Dialer→TeleComService→TeleComFramework...

2019-04-29 16:15:12 1441

原创 phone7:SIM的基础知识

第4章 SIM的基础知识4.1 ICC和UICCUICC:通用集成电路卡。分为两类UIM_ICC、UIM_UICC,即我们所说的SIM、USIM。SIM:支持移动2G的GSM和电信3G的CDMA两种制式;USIM:升级版的SIM卡,支持联通3G制式WCDMA,同时也支持4G制式。4.2 UICC分类根据逻辑模块的不同,分为以下几种不同的电话卡:1.SIM:如用户标识模块...

2019-04-29 11:37:29 522

原创 phone4:DataConnectionTracker运行机制

第4章 DataConnectionTracker的运行机制4.1 DataConnectionTracker运行机制DataConnectionTracker对象不仅会与RIL对象产生handler消息的传递与处理,并且还与CallTracker和ServiceStateTracker这两个Tracker对象以及IccRecords对象有直接的handler消息传递和处理。DataC...

2019-04-29 10:57:57 264

原创 phone1:phone进程

第1章 Phone1.1 Phone进程phone进程指的是“com.android.phone”,代码位于packages/services/Telephony。Phone进程是开机启动进程的,它的AndroidManifest.xml文件中的以下代码决定了其将在DBM下就会启动了,且异常退出后会自动重启。图1persistent表示应用是常驻的;directBootAwar...

2019-04-29 10:50:30 1063

原创 PhoneSwitcher的处理流程 ,SIMStateReceiver的处理流程,PIN码设置、加密、存储,双卡加载流程,短信发送过程

第1章 PhoneSwitcher的处理流程注意:PhoneSwitcher在PhoneFactory中初始化。PhoneSwitcher在初始时注册了广播接收器,监听数据卡的变化。图1 PhoneSwitcher类,初始时注册了广播接收器同时,TelephonyNetworkFactory初始时,注册成PhoneSwitcher的观察者,监听Phone数据能力的切换。...

2019-04-29 10:33:49 1562

原创 net1:偏好网络设置

第1章 偏好网络设置在了解偏好网络设置之前,先复习一下几个网络相关内容:OSI七层协议中网络由下向上分为:物理层、数据链路层、网络接口层、运输层、会话层、表示层、应用层;http:超文本传输协议;https:是以安全为目标的HTTP通道;socket是对TCP/IP协议的封装和应用,TCP/IP协议是运输层协议,主要解决数据如何在网络中传输,而http协议是应用层协议主要解决如...

2019-04-29 10:21:02 1251

原创 stk第4章 选择数据卡流程

第4章 选择数据卡流程1、在前文中我们提到了IccCardProxy在卡信息加载完毕后,会发送ACTION_INTERNAL_SIM_STATE_CHANGED广播。 SubscriptionInfoUpdater收到广播后,就会调用handleSimLoaded函数进行处理。2、 SubscriptionInfoUpdater类,在handleSimLoaded函数中,主要工作将由upd...

2019-04-27 10:55:03 285

原创 stk第3章 SubscriptionInfo的更新调用流程

第3章 SubscriptionInfo的更新调用流程3.1 UiccControllerSim卡状态发生改变,发送EVENT_GET_ICC_STATUS_DONE消息到UiccController的handleMessage。图3.1UiccController的handleMessage消息处理UiccController调RIL的getIccCardStatus()...

2019-04-27 10:54:27 503

原创 stk 第1章 STK流程分析

第1章 STK流程分析说一下和显示有关的几个类:StkDialogActivity:负责建立插卡后的所有弹窗(如:“欢迎使用中国国联通”)。StkMenuActivity:负责插卡后的建立所有列表(如:进入SIM卡工具包-各菜单列表)。StkAppInstaller:负责“SIM卡工具包”应用的图标显示(如:我们下载QQ后,桌面会有一个企鹅)。1.1 PhoneApp实例化Ph...

2019-04-27 10:51:32 1657

原创 第7章 短信发送过程部分内容

第7章 短信发送过程部分内容1、短信应用包路径为packages/apps/Mms,查看配置文件AndroidManifest.xml文件,可以找到MMs应用的入口,就是ConversationList.java。图7.1查看短信的入口2、在默认的Android虚拟设备启动时,进入ConversationList.java显示短信的会话列表界面,不会有任何短信会话。在Conve...

2019-04-27 10:45:28 528

原创 第6章 双卡加载流程学习

第6章 双卡加载流程学习1、 PhoneFactory中的makeDefaultPhone方法。单卡还是双卡:图6.1TelephonyNetWorkFactory是创建网络代理的工厂;图6.2初始化网络模式和RIL,支持几张卡就初始化几个RIL。图6.3接着就是大致把流程梳理一下、其实这些都是上几次说过的内容,这次只不过把他们合并在一起、并稍微添加了一...

2019-04-27 10:37:43 450

原创 第5章 SIM卡锁定PIN解锁流程

第5章 SIM卡锁定PIN解锁流程1、插卡后,在卡初始化过程中,UiccController会从底层获取card状态,会知道要不要进行PIN校验,如果开启就暂停卡初始化流程,并弹出PIN输入框,输入正确的PIN之后,继续从卡中取信息,完成后续流程。Sim锁定之后,开机会调用一个类,显示“请输入pin”的界面,输入pin密码之后,点击ok,调用checkPin();通过启动一个线程Che...

2019-04-27 10:36:40 4779

原创 第4章 SIM卡锁定

第4章 SIM卡锁定1、IccLockSettings:在UI界面,会触发onResume()函数。在onResume里面注册了ACTION_SIM_STATE_CHANGED这个事件,当收到这种广播的时候就会进行响应。在这个函数里面会获取卡的状态,mDialogState第一次进入默认都是OFF_MODE,所以最后会执行resetDialogState()。OFF_MODE状态代表...

2019-04-27 10:35:15 705

原创 第3章 PIN码设置、加密、存储

第3章 PIN码设置、加密、存储1.前提介绍:该密码保存在/data/misc/keystore/user_0/.masterkey,可在adb shell后,ls –al /data/misc/keystore/user_0/.masterkey查看文件存在与否。下面讲述的是,从设置点击 安全-屏幕锁定方式,设定pin-设置pin码,通知-完成,到pin如何进行加密和存储的。完成这个bu...

2019-04-27 10:31:19 2184

原创 第1章 PhoneSwitcher的处理

注意:PhoneSwitcher在PhoneFactory中初始化。PhoneSwitcher在初始时注册了广播接收器,监听数据卡的变化。图1 PhoneSwitcher类,初始时注册了广播接收器同时,TelephonyNetworkFactory初始时,注册成PhoneSwitcher的观察者,监听Phone数据能力的切换。图2注册成PhoneSwitcher的观察者...

2019-04-27 10:28:59 700

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除