983|0

152

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

视壮RK3399 板卡调试4G模块的资料分享 [复制链接]

视壮RK3399 板卡调试4G模块的资料分享
android 7.1 "移动网络" 选项 不存在问题。
1、celluar networks 字符串定义
首先在设置APK的资源文件去找到这一串字符
     
Mobile networks  
2、network_settings_title引用
packages/apps/Settings/src/com/android/settings/WirelessSettings.java中找到:"mobile_network_settings"  
private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings";   
把 network_settings_title赋值给 KEY_MOBILE_NETWORK_SETTINGS,再跟进一下 KEY_MOBILE_NETWORK_SETTINGS这个变量吧。

在相同的文件中我们找到:
RemovMobile Network Settings if it's a wifi-only device.   
if (Utils.isWifiOnly(getActivity())) {   
getPreferenceScreen().removePreference(findPreference(KEY_MOBILE_NETWORK_SETTINGS));   
}   
getSystemService(Context.CONNECTIVITY_SERVICE);获得网络连接服务,然后判断是否支持TYPE_MOBILE,现在判断应该是不支持,也就是if判断中:Utils.isWifiOnly(getActivity())=1

所以把“移动网络”的选项移除,现在我们就重点去分析Utils.isWifiOnly(getActivity()),找到不显示的原因,也就是if()中的判断条件,跟进这段代码
3、我们去看下ifWifiOnly()是何方神圣?
packages/apps/Settings/src/com/android/settings/Utils.Java中找到
.import android.net.ConnectivityManager;  
   
.public static boolean isWifiOnly(Context context) {  
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(  
Context.CONNECTIVITY_SERVICE);  
return (cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) == false);  
.}  
Utils.isWifiOnly(getActivity())=1也就是

cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) = false,可是我们现在要的值是true,为什么会出现false呢,我们继续往下看cm.isNetworkSupported
4、 再分析isNetworkSupported
frameworks/base/core/java/android/net/ ConnectivityManager.java
.public boolean isNetworkSupported(int networkType) {  
.try {  
.return mService.isNetworkSupported(networkType);  
.} catch (RemoteException e) {}  
.return false;  
.}  
07.}  

继续跟进 mService.isNetworkSupported这个函数的实现
5、 mService.isNetworkSupported的实现
\frameworks\base\core\java\android\net

     public boolean isNetworkSupported(int networkType) {
         try {
             return mService.isNetworkSupported(networkType);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
     }

6、到最后是device\rockchip\common\overlay\frameworks\base\core\res\res\values\config.xml

     
     
         "wifi,1,1,2,-1,true"
         "mobile,0,0,0,-1,true"
         "mobile_mms,2,0,2,60000,true"
         "mobile_supl,3,0,2,60000,true"
         "mobile_dun,4,0,2,60000,true"
         "mobile_hipri,5,0,3,60000,true"
         "mobile_fota,10,0,2,60000,true"
         "mobile_ims,11,0,2,60000,true"
         "mobile_cbs,12,0,2,60000,true"
         
         "bluetooth,7,7,0,-1,true"
         
         "ethernet,9,9,9,-1,true"  要注意这里
   

     
     
     
         "0,1"
         "1,1"
         "7,1"
         "9,1" 注意这里
   
7、最好要开启rild相关的资源,这是4G模块就可以加载成功。
在boardconfig.mk文件增加此功能
BOARD_HAVE_DONGLE:=true
在android7.1可以成功利用4G模块上网
此帖出自信息发布论坛
点赞 关注
个人签名笑一笑,没有什么过不了
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表