android 设置默认启动network mode

时间:2022-04-08 15:42:20

network mode常见类型

WCDMA preferred : 0

GSM only : 1

WCDMA only : 2

GSM UMTS : 3

CDMA : 4

... (参考RILConstants.java)

是透过AT+ERAT把mode的值丢给modem,让modem设定相应的mode。 假设是TDD手机。那么其network mode的值和WCDMA是相应的。

WCDMA preferred -- TD-SCDMA preferred

WCDMA only -- TD-SCDMA only

这个network mode在第一次开机时会有一个參数来记录默认值,这个參数就是PREFERRED_NETOK_MODE,该參数定义在在RILConstants.java中。

在SettingProvider loading的时候,这个參数的值就写到Settings.Global.PREFERRED_NETWOK_MODE其中(參考SettingsProvider中的DatabasHelper.java)。然后在make default phone的时候就依据Settings.Global.PREFERRED_NETWOK_MODE取出来的值来使用。

 

注:由于network mode是End user能够通过操作setting菜单切换的,所以本FAQ仅仅是改动download完第一次开机的network mode默认值

 

AP端改动例如以下:

有了上述的描写叙述,设定默认的network mode比較简单,就是把PREFERRED_NETWORK_MODE的默认取值改动掉就可以。眼下PREFERRED_NETOK_MODE默认值是NETWORK_MODE_WCDMA_PREF。

比如默认设成GSM only:





RILConstants.java 路径: alps/framework/base/telephony/java/com/android/internal/telephony/

 

Modem端改动例如以下:

modem端改动preferred rat相应的nvram 是NVRAM_EF_RAC_PREFERENCE_LID

请帮忙依据须要改动相关default数组COMMON_NVRAM_EF_RAC_PREFERENCE_DEFAULT的IR preferred RAT(红色highlight部分):

/* 4th byte is IR preferred RAT and MM preferred RAT */

// MM preferred RAT 0x00 : RAT_NONE 0x01 : RAT_GSM 0x02 : RAT_UMTS 

0x00

+

// IR preferred RAT 0x00 : RAT_NONE 0x10 : RAT_GSM 0x20 : RAT_UMTS 

0x20 //