谷歌Android - 如何确定3g和2g是否打开

时间:2009-04-18 19:06:04

标签: android wireless gprs

我正在为谷歌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。

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:2)

您也可以使用ConnectivityManager。这样的事情:

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