完善资料让更多小伙伴认识你,还能领取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,有好的技术,大家一下交流 |
|
相关推荐
|
|
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1379 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1080 浏览 0 评论
1502 浏览 0 评论
1385 浏览 0 评论
1030 浏览 0 评论
74619 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 10:56 , Processed in 0.629017 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号