本文紧接着上一篇文章<Android Telephony分析(四) —- TelephonyManager详解 >的1.4小节.从TelephonyRegistry的大部分方法中: 可以看出TelephonyRegistry主要的功能是上报消息,有两种方式:1. 通过notifyXXX方法.2. 通过发送broadcast.至于发广播没什么好说的了,我们看看notifyXXX方法吧,以notifyCallStateForPhoneId()方法为例 public void notifyCallS…
前言 本文主要讲解RILJ工作原理,以便更好地分析代码,分析业务的流程.这里说的RILJ指的是RIL.java (frameworks\opt\telephony\src\java\com\android\internal\telephony) ,RILC指的是Ril.cpp (hardware\ril\libril)1. RILJ的创建 RILJ的继承关系如下: 可以看到RILJ继承自BaseCommands并且实现了CommandsInterface接口,RILJ中有两个子线程RILSend…
前言 本文主要讲解RegistrantList的原理,以及如何快速分析RegistrantList相关的代码流程.在Telephony模块中,在RIL.Tracker(ServiceStateTracker.CallTracker.DcTracker).Phone(PhoneBase及其子类).UICC框架.CallManager等等中都大量使用到的RegistrantList,可见RegistrantList使用范围之广.如果代码流程中使用了RegistrantList,如何分析下一步代码流程…
前言 TelephonyManager主要提供Telephony相关信息的查询/修改功能,以及Phone状态监听功能,封装的方法主要是提供给APP上层使用.TelephonyManager.java 在frameworks\base\telephony\java\android\telephony目录下. 1. TelephonyManager整体结构 从TelephonyManager导入的文件中可以发现有四个接口 import com.android.internal.telecom.ITe…
目录: Phone的继承关系与PhoneFactory(GsmCdmaPhone.ImsPhone.SipPhone) Phone进程的启动 Phone对象的初始化(DefaultPhoneNotifier和RIL对象,将作为创建GsmCdmaPhone参数) 为Phone实例注册监听事件(CM,注册与注销) Phone有什么作用(监听.上报消息.modem交互) 1.在Android N中,Phone的继承关系: Android中有三种PhoneFactory:PhoneFactory.jav…
本文将结合前面五篇文章所讲解的知识,综合起来,实现一个接口扩展的功能.如果还没有阅读过前面五篇文章的内容,请先阅读:<Android Telephony分析(一) — Phone详解 ><Android Telephony分析(二) — RegistrantList详解 ><Android Telephony分析(三) — RILJ详解 ><Android Telephony分析(四) — TelephonyManager详解 ><Android Te…
本文是基于上一篇<Android Telephony分析(六) —- 接口扩展(实践篇)>来写的.上一篇介绍的接口扩展的方法需要实现两部分代码:1. 从APP至RIL,发送请求:2. 从RIL至APP,上报结果. 由于这是一个异步请求,所以两部分流程都不能少,导致流程过于复杂.而本文的目的就是为了将异步请求转换成同步请求,节省第二部分“上报结果”的流程,从而简化整个接口扩展的流程和代码量.(当然,虽然<Android Telephony分析(六) —- 接口扩展(实践篇)>代码流程…
Android不规则点击区域详解 摘要 今天要和大家分享的是Android不规则点击区域,准确说是在视觉上不规则的图像点击响应区域分发. 其实这个问题比较简单,对于很多人来说根本不值得做为一篇博文写出来,但在我的群里确实有童鞋不了解如何实现并且很想知道完整的流程是什么样的,故完成demo作为参考. 以下篇幅记录个人分析流程. 我们的需求. 我们需要实现chrome这样的不同颜色区域点击响应不同的事件.Chrome中分别点击红色.黄色.绿色.蓝色进行不同的事件响应. 经过我们对android组件的…
该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解析大部分标准SQL语言.但它也省去了一些特性并且加入了一些自己的新特性.这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的.查看关键字列表. 如下语法表格中,纯文本用蓝色粗体显示.非终极符号为斜体红色.作为语法一部分的运算符用黑色Roman字体表示. 这篇文档只是对SQLite实现的SQ…
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 . Android Studio 相关博客 : -- Ubuntu 下 Android Studio 开发工具使用详解 : http://blog.csdn.net/shulianghan/article/details/20855541 ; -- Ubuntu 配置 Android 开发 环境…