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可以分别设置不同的默认网络,修改位置和方法与上述基本相同。

最新文章

  1. 分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?
  2. Mybatis高级查询之关联查询
  3. 总结-java
  4. ORACLE 自定义分页存储过程
  5. Cocos2d-JS轻量级开发
  6. C语言初学者代码中的常见错误与瑕疵(3)
  7. HDU 5877 [dfs序][线段树][序]
  8. java隐士类型转换和强制类型转换
  9. [hihoCoder]#1039 : 字符消除
  10. javascript 制作的美化select,利用cookie保存选择
  11. Qt: 访问容器(三种方法,加上for循环就四种了)good
  12. EF简介
  13. 【整理】Object-C中的属性(Property)的Setter:assign,copy,retain,weak,strong之间的区别和联系
  14. CSS问题
  15. 问题:CMD安装mysql-server遇到找不到MSVCR120.dll问题(已解决)
  16. 10.scrapy框架简介和基础应用
  17. springboot 初始化 web 项目 启动报错。。。一直解决不了
  18. HihoCoder 1634 Puzzle Game(最大子矩阵和)题解
  19. Gulp 笔记
  20. Objective-C 语法之 Debug 表达式

热门文章

  1. Fatal error:Call to undefined function mysqli_connect() in .php line 报错
  2. Shell 编程中的常用工具
  3. Android笔记 (一) 第一次接触Android
  4. python生成器学习
  5. Linux的desktop文件正常编写赋权,仍无法打开解决办法
  6. LRU(最近最少使用)(python实现)
  7. @PostMapping和@PutMapping区别
  8. 什么是EDID,EDID能做什么,EDID基本介绍
  9. TDOA 之 基站逻辑代码实现
  10. 60、springmvc-异步请求-返回Callable