我是靠谱客的博主 危机宝马,这篇文章主要介绍Android 首选网络模式默认值的修改方法,现在分享给大家,希望可以做个参考。

修改系统属性:ro.telephony.default_network

修改说明:

可连续给两个值(如4,1),卡1用的是4,卡2用的是1。数字代表的意义见下方的相关代码片段。


相关源码位置:

frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java


相关代码片段:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE */ int NETWORK_MODE_WCDMA_PREF = 0; /* GSM/WCDMA (WCDMA preferred) */ int NETWORK_MODE_GSM_ONLY = 1; /* GSM only */ int NETWORK_MODE_WCDMA_ONLY = 2; /* WCDMA only */ int NETWORK_MODE_GSM_UMTS = 3; /* GSM/WCDMA (auto mode, according to PRL) AVAILABLE Application Settings menu*/ int NETWORK_MODE_CDMA = 4; /* CDMA and EvDo (auto mode, according to PRL) AVAILABLE Application Settings menu*/ int NETWORK_MODE_CDMA_NO_EVDO = 5; /* CDMA only */ int NETWORK_MODE_EVDO_NO_CDMA = 6; /* EvDo only */ int NETWORK_MODE_GLOBAL = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) AVAILABLE Application Settings menu*/ int NETWORK_MODE_LTE_CDMA_EVDO = 8; /* LTE, CDMA and EvDo */ int NETWORK_MODE_LTE_GSM_WCDMA = 9; /* LTE, GSM/WCDMA */ int NETWORK_MODE_LTE_CMDA_EVDO_GSM_WCDMA = 10; /* LTE, CDMA, EvDo, GSM/WCDMA */ int NETWORK_MODE_LTE_ONLY = 11; /* LTE Only mode. */ int NETWORK_MODE_LTE_WCDMA = 12; /* LTE/WCDMA */ int NETWORK_MODE_TD_SCDMA_ONLY = 13; /* TD-SCDMA only */ int NETWORK_MODE_TD_SCDMA_WCDMA = 14; /* TD-SCDMA and WCDMA */ int NETWORK_MODE_TD_SCDMA_LTE = 15; /* TD-SCDMA and LTE */ int NETWORK_MODE_TD_SCDMA_GSM = 16; /* TD-SCDMA and GSM */ int NETWORK_MODE_TD_SCDMA_GSM_LTE = 17; /* TD-SCDMA,GSM and LTE */ int NETWORK_MODE_TD_SCDMA_GSM_WCDMA = 18; /* TD-SCDMA, GSM/WCDMA */ int NETWORK_MODE_TD_SCDMA_WCDMA_LTE = 19; /* TD-SCDMA, WCDMA and LTE */ int NETWORK_MODE_TD_SCDMA_GSM_WCDMA_LTE = 20; /* TD-SCDMA, GSM/WCDMA and LTE */ int NETWORK_MODE_TD_SCDMA_CDMA_EVDO_GSM_WCDMA = 21; /*TD-SCDMA,EvDo,CDMA,GSM/WCDMA*/ int NETWORK_MODE_TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA = 22; /* TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo */

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Set the preferred network mode int defaultNetworkType = RILConstants.PREFERRED_NETWORK_MODE; int numPhones = MSimTelephonyManager.getDefault().getPhoneCount(); String networkMode = SystemProperties.get("ro.telephony.default_network"); if (networkMode != null) { if (numPhones == MSimConstants.MAX_PHONE_COUNT_SINGLE_SIM) { loadSetting( stmt, Settings.Global.PREFERRED_NETWORK_MODE, MSimTelephonyManager.getTelephonyProperty( "ro.telephony.default_network", 0, Integer.toString(defaultNetworkType))); } else { loadSetting(stmt, Settings.Global.PREFERRED_NETWORK_MODE, networkMode); } } else { StringBuilder sb = new StringBuilder(defaultNetworkType); for (int i = 0; i < numPhones - 1; i++) { sb.append(","); sb.append(RILConstants.NETWORK_MODE_GSM_ONLY); } loadSetting(stmt, Settings.Global.PREFERRED_NETWORK_MODE, sb.toString()); }


最后

以上就是危机宝马最近收集整理的关于Android 首选网络模式默认值的修改方法的全部内容,更多相关Android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部