当前位置: 代码迷 >> Android >> android 4.0移动网络不可用 android4.0 “设立-更多-移动网络”这个选项没有 3G 信号栏指示没有
  详细解决方案

android 4.0移动网络不可用 android4.0 “设立-更多-移动网络”这个选项没有 3G 信号栏指示没有

热度:309   发布时间:2016-05-01 15:00:53.0
android 4.0移动网络不可用 android4.0 “设置--更多--移动网络”这个选项没有 3G 信号栏指示没有
android 4.0移动网络不可用
android4.0 “设置--更多--移动网络 ”这个选项没有,请各位指点一二……

在函数4.0.3_r1/packages/apps/Settings/src/com/android/settings/WirelessSettings.java中,这个if中的操作执行,删除了“设置--更多--移动网络”这个选项。把这部分屏蔽后,有“设置--更多--移动网络”这个选项。可是3G网络的其他操作没打开,关于3G网络,是不是有一个总宏控制打开关闭,

  //Remove Mobile Network Settings if it's a wifi-only device.
  if (Utils.isWifiOnly(getActivity())) {
  getPreferenceScreen().removePreference(findPreference(KEY_MOBILE_NETWORK_SETTINGS));
  }


Utils.isWifiOnly(getActivity()这个函数的实现:
在4.0.3_r1/packages/apps/Settings/src/com/android/settings/Utils.java中实现
  public static boolean isWifiOnly(Context context) {
  ConnectivityManager cm = (ConnectivityManager)context.getSystemService(
  Context.CONNECTIVITY_SERVICE);

  return (cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) == false);
   
  }
下图屏蔽代码:得出的效果,打开3G网络的宏在那个地方?
4.0.3_r1/packages/apps/Settings/src/com/android/settings/WirelessSettings.java

  //Remove Mobile Network Settings if it's a wifi-only device.
  // if (Utils.isWifiOnly(getActivity())) {
  // getPreferenceScreen().removePreference(findPreference(KEY_MOBILE_NETWORK_SETTINGS));
  //}


------解决方案--------------------
我感觉你是少一个配置文件,在frameworks/base/data/etc/里找找,类似于android.hardware.location.gps.xml这种。

如果没有合适的把手机的拷出来看看,放到system/etc/permissions里面
------解决方案--------------------
谢谢提醒,我的也是三星平台,不是v310,是v210。

android/device/samsung/smdkv310/overlay/frameworks/base/core/res/res/values/config.xml
<string-array translatable="false" name="networkAttributes">
<string-array translatable="false" name="radioAttributes"> 

原来这两列没加有移动网络,并把下面的配置文件覆盖了。

android/frameworks/base/core/res/res/values/config.xml
  相关解决方案