完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在RK3399的开发板子是基于深圳市视壮科技有限公司VS3399板子调试步骤分析:
android 7.1 "移动网络" 选项 不存在问题。 1、celluar networks 字符串定义 首先在设置APK的资源文件去找到这一串字符 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的实现 frameworksbasecorejavaandroidnet public boolean isNetworkSupported(int networkType) { try { return mService.isNetworkSupported(networkType); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } 6、到最后是devicerockchipcommonoverlayframeworksbasecoreresresvaluesconfig.xml 7、最好要开启rild相关的资源,这是4G模块就可以加载成功。 在boardconfig.mk文件增加此功能 BOARD_HAVE_DONGLE:=true 在android7.1可以成功利用4G模块上网 有什么技术交流:android 7.1 "移动网络" 选项 不存在问题。在RK3399的开发板子是基于深圳市视壮科技有限公司VS3399板子调试步骤分析: 1、celluar networks 字符串定义 首先在设置APK的资源文件去找到这一串字符 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的实现 frameworksbasecorejavaandroidnet public boolean isNetworkSupported(int networkType) { try { return mService.isNetworkSupported(networkType); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } 6、到最后是devicerockchipcommonoverlayframeworksbasecoreresresvaluesconfig.xml 7、最好要开启rild相关的资源,这是4G模块就可以加载成功。 在boardconfig.mk文件增加此功能 BOARD_HAVE_DONGLE:=true 在android7.1可以成功利用4G模块上网 技术交流.有什么问题,加6643499,有好的技术,大家一下交流 |
|
相关推荐
|
|
741 浏览 0 评论
3557 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2435 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2881 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
30972 浏览 11 评论
72726 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 19:21 , Processed in 0.543897 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号