“無線和網(wǎng)絡(luò)”->“移動網(wǎng)絡(luò)”->“接入點名稱”中選擇不同的apn帳號進(jìn)行撥號連接,而CDMA/EVDO則沒有這個功能,接下來本文介紹一些方法實現(xiàn)這個功能,感興趣的朋友可"/>

国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Android - android2.3.5 CDMA/EVDO撥號APN解決方案

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

2021-01-01 13:25Android開發(fā)網(wǎng) Android

google提供的android2.3里面,只能在GSM/WCDMA情況下才能從“設(shè)置”->“無線和網(wǎng)絡(luò)”->“移動網(wǎng)絡(luò)”->“接入點名稱”中選擇不同的apn帳號進(jìn)行撥號連接,而CDMA/EVDO則沒有這個功能,接下來本文介紹一些方法實現(xiàn)這個功能,感興趣的朋友可

google提供的android2.3里面,只能在GSM/WCDMA情況下才能從“設(shè)置”->“無線和網(wǎng)絡(luò)”->“移動網(wǎng)絡(luò)”->“接入點名稱”中選擇不同的apn帳號進(jìn)行撥號連接,而CDMA/EVDO則沒有這個功能。最近看了一下代碼,簡單實現(xiàn)了這個功能。

1、默認(rèn)的CDMA/EVDO里面連apn列表都不顯示,要先把這個挖出來。
修改packages/apps/Phone/res/xml/cdma_options.xml
添加如下內(nèi)容

復(fù)制代碼 代碼如下:


<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函數(shù)

復(fù)制代碼 代碼如下:


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函數(shù):

復(fù)制代碼 代碼如下:


phone.mCM.setupDataCall(
Integer.toString(RILConstants.SETUP_DATA_TECH_CDMA),
Integer.toString(dataProfile),
//null, null, null,  //原來傳進(jìn)撥號的參數(shù)都是空的!!!
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的定義,將其成員類型全部設(shè)為public

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人免费视频 | 亚洲成人网一区 | 国产精品免费一区二区三区四区 | 欧美日本韩国一区二区三区 | 精品国产91乱码一区二区三区 | 这里只有精品在线 | 精品免费视频 | 午夜精品视频 | 国产在线一区二区三区 | 成人午夜精品久久久久久久3d | 欧美与黑人午夜性猛交久久久 | 欧美电影一区 | 免费观看av毛片 | 在线免费观看av电影 | 黄色片免费观看 | 中文字幕av亚洲精品一部二部 | 亚洲aⅴ天堂av在线电影软件 | 亚洲精品久久久久久国产 | 最近中文字幕mv免费高清在线 | 国产日韩一区二区三区 | 日本在线观看www | 超级碰在线视频 | 国产中文字幕一区 | 久久精品久久久 | 精品一区二区在线观看 | 久久国产精品久久久久久电车 | 亚洲天堂中文字幕在线观看 | 欧美日韩久久久 | 亚洲综合中文字幕在线 | 日本一区二区三区四区 | 欧美视频在线一区 | 免费一级黄 | 成人看的免费视频 | 久久久人成影片一区二区三区 | 亚洲精品一区二区网址 | 成人短视频在线 | 欧美精品第一页 | 亚洲精品在线视频 | 中国妞xxx| 日韩在线观看中文字幕 | 色综合久久88色综合天天 |