5,APN
为了访问网络,手机必须设置合适的APN参数。APN的英文全称是Access Point Name,全称接入点,是手机上网时必现配置的参数。
终端中有一个apns-config.xml文件,负责定义各个运营商规定的默认APN参数。开机后,终端启动Phone进程时,
会加载运行在Phone进程中的TelephonyProvider。 TelephonyProvider负责解析apns-config.xml文件,将其中定义的APN参数写入到数据库中。
5.1 TelephonyProvider
TelephonyProvider路径如下:
packages\providers\TelephonyProvider\src\com\android\providers\telephony
packages\providers\TelephonyProvider\编译完成之后是TelephonyProvider.apk
AndroidManifest.xml文件如下,
android:sharedUserId="android.uid.phone">
说明运行于phone进程中。
TelephonyProvider定义如下,
<provider android:name="TelephonyProvider"
android:authorities="telephony"
android:exported="true" //可以被其他进程使用
android:singleUser="true" //所有Provider 是同一个
android:multiprocess="false" /> //不允许多个Provider实例运行于不同进程中
因此, TelephonyProvider是运行在phone进程中的,同时其multiprocess的值为false,也就意味着若其它进程要访问TelephonyProvider,
必须使用IPC机制进行调用。
phone进程是开机就启动的,因此TelephonyProvider在开机的时候,就会运行,并且会被加载到AMS中。
TelephonyProvider继承于ContentProvider,
public class TelephonyProvider extends ContentPro