Google Android - 如何判断 3g 和 2g 是不是打开
Posted
技术标签:
【中文标题】Google Android - 如何判断 3g 和 2g 是不是打开【英文标题】: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 网络以节省电量” 【参考方案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();
【讨论】:
以上是关于Google Android - 如何判断 3g 和 2g 是不是打开的主要内容,如果未能解决你的问题,请参考以下文章