在Android平台下提供了很全面的网络接口,获取手机设置的网络接入方式更是不在话下了,所以开发以来很方便。
Activity提供了获取网络管理类的接口ConnectivityManager,用ConnectivityManager就可获取网络信息类NetworkInfo,NetworkInfo包含了很多网络状况的信息。如下代码实例:
//获取网络连接管理者
ConnectivityManager connectionManager = (ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE);
//获取网络的状态信息,有下面三种方式
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
NetworkInfo 有一下方法
getDetailedState():获取详细状态。
getExtraInfo():获取附加信息。
getReason():获取连接失败的原因。
getType():获取网络类型(一般为移动或Wi-Fi)。
getTypeName():获取网络类型名称(一般取值“WIFI”或“MOBILE”)。
isAvailable():判断该网络是否可用。
isConnected():判断是否已经连接。
isConnectedOrConnecting():判断是否已经连接或正在连接。
isFailover():判断是否连接失败。
isRoaming():判断是否漫游
当用wifi上的时候
getType 是WIFI
getExtraInfo是空的当用手机上的时候
getType 是MOBILE
用移动CMNET方式
getExtraInfo 的值是cmnet
用移动CMWAP方式
getExtraInfo 的值是cmwap 但是不在代理的情况下访问普通的网站访问不了
用联通3gwap方式
getExtraInfo 的值是3gwap
用联通3gnet方式
getExtraInfo 的值是3gnet
用联通uniwap方式
getExtraInfo 的值是uniwap
用联通uninet方式
getExtraInfo 的值是uninet
用电信方式待定
下面解决cmwap联网
转载于:https://www.cnblogs.com/huidaoli/articles/3591254.html