a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

android2.3.5 CDMA/EVDO撥號APN解決方案

2020-04-11 12:34:40
字體:
來源:轉載
供稿:網友
google提供的android2.3里面,只能在GSM/WCDMA情況下才能從“設置”->“無線和網絡”->“移動網絡”->“接入點名稱”中選擇不同的apn帳號進行撥號連接,而CDMA/EVDO則沒有這個功能。最近看了一下代碼,簡單實現了這個功能。

1、默認的CDMA/EVDO里面連apn列表都不顯示,要先把這個挖出來。
修改packages/apps/Phone/res/xml/cdma_options.xml
添加如下內容
復制代碼 代碼如下:

<PreferenceScreen
android:key="button_apn_key"
android:title="@string/apn_settings"
android:persistent="false">
<intent android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.ApnSettings" />
</PreferenceScreen>

還有development/data/etc/apns-conf.xml的version值改為原來的加1,原因代碼里面找。
2、修改frameworks/base/telephony/java/com/android/internal/telephony/cdma/cdmadataconnectiontracker.java的setupData函數
復制代碼 代碼如下:

private boolean setupData(String reason) {
CdmaDataConnection conn = findFreeDataConnection();
if (conn == null) {
if (DBG) log("setupData: No free CdmaDataConnection found!");
return false;
}
mActiveDataConnection = conn;
String[] types;
if (mRequestedApnType.equals(Phone.APN_TYPE_DUN)) {
types = new String[1];
types[0] = Phone.APN_TYPE_DUN;
} else {
types = mDefaultApnTypes;
}
//mActiveApn = new ApnSetting(0, "", "", "", "", "", "", "", "", "", "",
// 0, types, "IP", "IP");
Uri PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn");
ContentResolver cResolver = phone.getContext().getContentResolver();
Cursor cr = cResolver.query(PREFERRED_APN_URI, null, null, null, null);
cr.moveToFirst();
String user = cr.getString(cr.getColumnIndex("user"));
String pass = cr.getString(cr.getColumnIndex("password"));
String apn = cr.getString(cr.getColumnIndex("apn"));
Log.e(LOG_TAG, "get apn : apn=" + apn + ", user=" + user + ", password=" + pass);
mActiveApn = new ApnSetting(0, "", "", apn, "", "", "", "", "", user, pass,
, types, "IP", "IP");
Message msg = obtainMessage();
msg.what = EVENT_DATA_SETUP_COMPLETE;
msg.obj = reason;
conn.connect(msg, mActiveApn);
setState(State.INITING);
phone.notifyDataConnection(reason);
return true;
}

3、修改frameworks/base/telephony/java/com/android/internal/telephony/cdma/cdmadataconnection.java的onConnect函數:
復制代碼 代碼如下:

phone.mCM.setupDataCall(
Integer.toString(RILConstants.SETUP_DATA_TECH_CDMA),
Integer.toString(dataProfile),
//null, null, null,  //原來傳進撥號的參數都是空的!!!
cp.apn.apn, cp.apn.user, cp.apn.password,
Integer.toString(RILConstants.SETUP_DATA_AUTH_PAP_CHAP),
RILConstants.SETUP_DATA_PROTOCOL_IP, msg);

4、修改frameworks/base/telephony/java/com/android/internal/telephony/gsm/ApnSetting.java中對ApnSetting的定義,將其成員類型全部設為public
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 最新日韩av网址 | 96久久久久久 | 午夜社区 | 成人免费淫片视频观 | 一本视频在线 | 久久久久久久久久久久久女国产乱 | 欧美精品久久久久久久久久丰满 | 天天操天天碰 | 日韩欧美大片在线观看 | 国产伦精品一区二区三区高清 | 色噜噜狠狠狠综合曰曰曰 | 久久综合色视频 | 天堂在线视频精品 | 精品视频久久 | 久久综合狠狠综合久久综合88 | 久久精品在线免费观看 | 亚洲三级在线 | 亚洲一区二区三区中文字幕 | 综合久久综合久久 | 欧美人成在线 | 91污视频软件 | 欧美中文字幕一区二区 | 四虎com| 欧美一级视频在线观看 | 91久久综合亚洲鲁鲁五月天 | 亚洲黄色国产 | 国产一区二区三区精品久久久 | 欧美在线一区二区三区 | 亚洲精品久久久久久久久久久久久 | 欧美一区2区三区3区公司 | 狠狠色丁香婷婷综合 | 成人国产| 亚洲乱码一区二区 | 日韩爽妇网 | 成人国产在线观看 | 久草新免费 | 91久久夜色精品国产九色 | 黄色影院免费看 | 在线一区二区三区 | 日韩欧美一区二区三区久久婷婷 | 国产精品一区在线 |