03
第3 章 通信框架
Telephony Framework
通信框架作为Java 应用程序框架,由上级Phone 应用程序提供通信相关API,与RIL 守
护进程通信的同时控制调制解调器。通信框架与其他硬件服务不同,由Phone 应用程序初始化,
并在Phone 应用程序内运行。像这样在一个进程中运行Phone 应用程序和通信框架是因为,
从网络的特性上说,很难确定来自网络的响应到达的时间,故使用异步方式。本章将通过通信
框架的结构及示例介绍与RIL 守护进程通信的机制。
3.1 通信框架概要 137
通信 (Telephony )是希腊语 “tele”(distant )与 “phone”(speak )的合成词Telephone (提 1
供与人进行远程语音通信的设备)的应用服务。现在,通信的意义扩大为网络电话、移动通信、
传真、语音邮件、视频会议 (Video Conferencing )等,变为从语音通信到数据通信的远程通信
概念。智能手机运营商Android 提供基本的语音通话及SMS 等利用移动通信网络的数据通信。
本章将介绍Android 通信框架提供的通信服务。
3.1 通信框架概要
智能手机的主要特征之一是提供强大的通信功能。过去的非智能手机通过移动通信网络提
2
供语音通话或SMS 服务等主要通信功能,而Android 可以在移动环境下连接网络,提供比已有
的语音通话或SMS 更强大的数据通信功能。
3.1.1 通信框架的功能
通信框架为PDK 应用程序Phone 应用程序及MMS 应用程序等提供GSM 及CDMA 调制解
调器提供的所有服务,SDK 应用程序通过TelephonyManager 提供有限的网络信息。Android 通
信框架提供的主要功能如下。
提供通信框架内对象间的通信机制。 3
通信框架由几个阶段的层构成。通信框架定义层与层之间的接口,还定义各层内的对象
间通信机制。
通信框架与RIL 守护进程间的通信。
通信框架实现与RIL 守护进程间的通信机制。通信框架通过UNIX 套接字与RIL 守护进
程通信,利用定义了调制解调器特定操作的RIL 命令控制调制解调器。
通信框架 RIL 守护进程 4
Linux 内核
图3-1 通信框架与RIL 守护进程间的IPC
5
提供用于控制调制解调器的通用API 。
Android 支持各种供应商的调制解调器。如果没有各设备控制调制解调器的标准方法,
那么必须根据各设备的调制解调器编写应用程序,这会影响应用程序的兼容性。通信框
架为Phone 应用程序提供控制调制解调器的通用API ,Phone 应用程序利用提供的API
控制调制解调器,以与网络通信。
保障调制解调器的稳定性。
通信框架提供控制调制解调器的唯一API 。Android 只允许Phone 应用程序和MMS 应用
11
程序通过通信框架直接访问调制解调器,其余应用程序不允许由SDK 提供的API 以外
138 第3 章 通信框架
的调制解调器控制。仅限Phone 应用程序和MMS 应用程序访问通信框架是因为,调制
解调器是连接网络所需最重要的设备。如果普通应用程序均按照各自的方式控制调制解
①