[RK3399] 修改移动网络默认为4G

摘要:
CPU:RK3399系统:Android 7.1现在默认为4G网络,但源代码默认为3G网络,每次需要手动更改为4G。PREFERRED_ NETWORK_MODE变量是启动后在系统设置中调用的默认网络类型SystemProperties.getInt。第一个参数是键值,可以在启动后通过adb中的getpel获得。第二个参数是默认值函数。如果存在键值,则返回与键值对应的整数。如果没有键值,则返回默认值。RK3399系统通电后,无法通过adb中的getprop命令获得“ro.telephony.default_network”,因此network_MODE_WCDMA_PPREF返回。

CPU:RK3399

系统:Android 7.1

现在手机卡都默认是 4G 网路,但是源码中默认的还是 3G网络,每次都要手动改到 4G。

下面在源码中就直接将默认网络改为4G。

PREFERRED_NETWORK_MODE 变量就是开机后系统设置中调用的默认网络类型

SystemProperties.getInt

第一个参数是键值,开机后可以在 adb 中通过 getpeop 获取到,第二个参数是默认值

功能是如果有键值,就将键值对应的整型返回,若没有键值,就将默认值返回。

RK3399 的系统开机后,在 adb 中通过指令 getprop 获取不到 "ro.telephony.default_network",因此会将 NETWORK_MODE_WCDMA_PREF 返回。

NETWORK_MODE_WCDMA_PREF 就是 3G 网络

我们希望默认为 4G,就该改变方法中调用的默认值,可选的值很多,可以根据自身需求修改。

第一种方式是直接修改优先网络与配置文件中的一致

diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java b/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.jav
index a91e9be..4571221 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -161,7 +161,7 @@ public interface RILConstants {
     int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA  = 21; /*TD-SCDMA,EvDo,CDMA,GSM/WCDMA*/
     int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /* TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo */
     int PREFERRED_NETWORK_MODE      = SystemProperties.getInt("ro.telephony.default_network",
-            NETWORK_MODE_WCDMA_PREF);
+            NETWORK_MODE_LTE_GSM_WCDMA);
 
     int BAND_MODE_UNSPECIFIED = 0;      //"unspecified" (selected by baseband automatically)
     int BAND_MODE_EURO = 1;             //"EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)

第二种方式是修改优先网络与配置文件中的不一致

diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java b/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.jav
index a91e9be..4571221 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -161,7 +161,7 @@ public interface RILConstants {
     int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA  = 21; /*TD-SCDMA,EvDo,CDMA,GSM/WCDMA*/
     int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /* TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo */
     int PREFERRED_NETWORK_MODE      = SystemProperties.getInt("ro.telephony.default_network",
-            NETWORK_MODE_WCDMA_PREF);
+            NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
 
     int BAND_MODE_UNSPECIFIED = 0;      //"unspecified" (selected by baseband automatically)
     int BAND_MODE_EURO = 1;             //"EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)
diff --git a/packages/services/Telephony/res/values/strings.xml b/packages/services/Telephony/res/values/strings.xml
index bcad6f7..b3720e2 100644
--- a/packages/services/Telephony/res/values/strings.xml
+++ b/packages/services/Telephony/res/values/strings.xml
@@ -665,7 +665,7 @@
         <item>@string/network_2G</item>
     </string-array>
     <string-array name="enabled_networks_values" translatable="false">
-        <item>"9"</item>
+        <item>"10"</item>
         <item>"0"</item>
         <item>"1"</item>
     </string-array>

对于 5.1 的系统,卡1和卡2可以分别设置不同的默认网络,修改位置和方法与上述基本相同。

免责声明:文章转载自《[RK3399] 修改移动网络默认为4G》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇二十四、Mysql读写分离之AtlasAndroid 关机弹出菜单下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iphone 通过获取IMSI判断运营商

IMSI 共有 15 位,其结构如下:   MCC+MNC+MSIN ,( MNC+MSIN=NMSI )   MCC : Mobile Country Code ,移动国家码, MCC 的资源由国际电联( ITU )统一分配和管理,唯一识别移动用户所属的国家,共 3 位,中国为 460;   MNC:Mobile Network Code ,移动网络码,...

移动边缘计算中的安全问题现状

移动边缘计算中的安全问题现状 目前对边缘计算安全和隐私保护的研究工作尚处于初级阶段,已有的研究成果较少。其中,一个确实可行的研究思路是将现有的其他相关领域的安全技术移植到边缘计算环境中。 一、MEC在传统安全防护下的差异 1) 认证安全 MEC网络中包含大量地理分散的物联网设备,由于设备在电力、处理和存储等方面受到各种限制,网络设备认证成为一个巨大的挑战。...

通信知识科普

手机开机后的步骤:  1. 首先搜索124个信道,即所有的BCH通道, 决定收到的广播信道BCH强度, (BCH 的承载的信息是距Mobile最近的BTS; 呼叫信息);  2. 跟网络同步时间和频率, 由FCH/SCH调整频率和时间  3. 解码BCH的子通道BCCH.  4. 网络检查SIM 卡的合法身份.是否是网络允许的SIM 卡。  5. 手机的位...

GSM模块_STM32实现GPRS与服务器数据传输经验总结

硬件环境 MCU:STM32F103RET6 (调试器:J-Link) GSM模块:Ai-Thinker_A6 (安信可)(还需要配一个串口打印工具,当初选这个模块纯粹是因为价格是最便宜的) ------------------------------------------------------------------------- 软件环境 Keil...

转载:32位Win7使用4G内存

新使用的lenovo ThinkPad L412 是高配本本,4Cpus,4G内存,500G硬盘,lenovo附带的恢复光盘是32位的,并且也担心64位操作系统对32位程序的支持兼容问题,最终选择安装32位Win7。 安装完之后,系统显示4G内存只有2.99G可用!: 从理论上而言,32位操作系统,2的32次方正好4G,系统给硬件设备预留地址等等,最...

(转)32位win7用尽4g内存的几种解决方式

无意中看到一篇关于win7的技巧文章,众所周知,32位的win7系统最大只能支持到3g内存,对于大于3g内存的有点浪费,该文立意非常不错,特意转帖如下,供理想同学参考:32位的win7用4g内存默认还是只能认到3.25g,还有700多m无法调用。闲着无聊,开始尝试各种办法来更多的使用多余的内存。 1:ready for 4gb 这个补丁据说能让32位系...