Android源码目录hardware/ril/libril中总共包含5个C/CPP文件,它们分别是ril_commands.h、ril_unsol_commands.h、ril_event.h、ril_event.cpp和ril.cpp。这篇文章主要分析commands相关的两个头文件,这两个文件主要定义了所有telephony可以接收的命令或者响应的事件类型,以及相应的处理函数。

进行源码分析前,我们必须先知道目前主流智能手机的硬件架构中有两个处理器,一个称为Application Processor(AP),主要用于运行操作系统,执行应用程序;一个称为Baseband Processor(BP),专门负责手机中和射频无线通信相关的功能。AP和BP芯片间通信基于串口,通信协议是广泛使用的AT指令。

接着来了解下RIL中的两种Response类型:

一是Solicited Response(经过请求的回复),应用的场景是AP主动向BP发送一个AT指令,请求BP进行相应处理并在处理结束时回复一个AT指令通知AP执行的结果。源码中对应的文件是ril_commands.h。

一是Unsolicited Response(未经请求的回复),应用场景是BP主动向AP发送AT指令,用于通知AP当前系统发生的与Telephony相关的事件,例如网络信号变化,有电话呼入等。源码中对应的文件是ril_unsol_commands.h。

首先当然先看下ril_commands.h文件:


To Be Continued

更多相关文章

  1. 用fiddler做代理服务器转发请求
  2. Android(安卓)网络请求框架Volley实例详解
  3. 12.2 HTTP请求
  4. Android入门笔记 - 网络通信 - HttpClient
  5. android - JNI接口函数 (1)
  6. Android(安卓)Retrofit的简单介绍和使用
  7. Android(安卓)网络提交数据(使用Asynchronous Http Client)
  8. 关于Spring for Android
  9. [Android实例] Android(安卓)实例SOCKET发送HTTP请求

随机推荐

  1. 关于"match_parent"这个xml的布局设定值
  2. 2011.11.22——— android jni简单用法
  3. Android之蓝牙设备使用
  4. Android(安卓)打开浏览器的几种方法
  5. Android(安卓)获取包名,版本信息
  6. ADT下载地址整理
  7. Android下Notification(通知栏)的使用
  8. Android(安卓)ListView简单实用
  9. Android之圆角矩形
  10. Android(安卓)ListView(Selector 颜色)