【问题标题】:Google Android - how to figure out if 3g and 2g is turned onGoogle Android - 如何判断 3g 和 2g 是否打开
【发布时间】:2010-10-20 07:44:25
【问题描述】:

我正在为 Google Android 开发一个简单的应用程序来打开和关闭 wifi 或 3g 或 2g。

我看到http://developer.android.com/reference/android/net/wifi/WifiManager.html#isWifiEnabled() 您可以查看 wifi 是启用还是禁用,还有我们 http://developer.android.com/reference/android/net/wifi/WifiManager.html#setWifiEnabled(boolean) 打开和关闭 wifi。

我想知道是否可以为 3G 和 2G/GPRS 做同样的事情? 我知道这是可能的,因为您可以关闭 3G 并保持 2G 开启。

【问题讨论】:

  • 你找到什么方法可以关闭3G,让2G保持开启?
  • 在无线中您可以选择“仅使用 2G 网络以节省电量”

标签: android wireless gprs


【解决方案1】:

2G/3G

要确定您的网络类型,请使用:

TelephonyManager.getNetworkType();

这里有一些示例代码:

bool is3G = (manager.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);

可以在以下位置找到该课程的文档:TelephonyManager


开/关

检查您的电话收音机是否打开或关闭:

ServiceState.getState();

设置它使用:

ServiceState.setState(STATE_POWER_OFF);

目前还不清楚 setState 方法是否存在于所有状态的所有设备和功能上。没有此方法的文档。该类的文档可以在以下位置找到:ServiceState

这个问题也可能是相关的:http://code.google.com/p/android/issues/detail?id=1065

【讨论】:

    【解决方案2】:

    您也可以使用 ConnectivityManager。类似的东西:

    ConnectivityManager connectivityManager =(ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多