Google Android – 如何判断3g和2g是否打开

我正在为Google Android开发一个简单的应用程序来打开和closureswifi或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)打开和closureswifi。

我想知道是否有可能做同样的3G和2G / GPRS? 我知道这是可能的,因为你可以closures3G和离开2G。

Solutions Collecting From Web of "Google Android – 如何判断3g和2g是否打开"

2G / 3G

要确定您的networkingtypes使用:

TelephonyManager.getNetworkType(); 

这是一些示例代码:

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

这个类的文档可以在TelephonyManagerfind

开关

要检查您的电话收音机是否开启或closures,请使用:

 ServiceState.getState(); 

设置使用:

 ServiceState.setState(STATE_POWER_OFF); 

目前还不清楚所有状态下的所有设备和function是否都存在setState方法。 这个方法没有文档。 这个类的文档可以在ServiceState中find

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

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

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