android APN code關鍵點


Users can go to Settings-->Wireless control-->Mobile networks-->Access point names to view and edit existing APNs.
Google Android uses a SQLite data table to store all APNs configured on the device, as shown below:
Database: /data/data/com.android.providers.telephony/databases/telephony.db
Table: carriers
URI: content://telephony/carriers

frameworks/base/core/res/res/xml/apns.xml    // Android自帶的內部APN配置文件
system/etc/apns-conf.xml            // 第三方提供的APN配置

在編譯該product時會將device/generic/goldfish/data/etc/apns-conf.xml文件拷貝到system/etc/目錄下,最後打包到system.img中。

packages/providers/TelephonyProvider/src/com/android/providers/telephony/TelephonyProvider.java  // 初始化操作
com.android.providers.telephony.TelephonyProvider.DatabaseHelper.onCreate(SQLiteDatabase)    // 創建數據表carriers,用來保存apn配置信息
com.android.providers.telephony.TelephonyProvider.DatabaseHelper.initDatabase(SQLiteDatabase)    // 從指定路徑讀取apn配置文件
com.android.providers.telephony.TelephonyProvider.DatabaseHelper.loadApns(SQLiteDatabase, XmlPullParser)        // Loads apns from xml file into the database

settings中對apn的操作:
packages/apps/Settings/src/com/android/settings/ApnEditor.java
packages/apps/Settings/src/com/android/settings/ApnPreference.java
packages/apps/Settings/src/com/android/settings/ApnSettings.java


參考:

Managing APN Settings on Google Android

Android APN配置


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章