很多朋友在android開發中,都會遇到行動電話通訊類型判斷,因為就目前的android平台手機來說:可能會存在4中狀態
1.無網路(這種狀態可能是因為手機停機,網路沒有開啟,訊號不好等原因)
2.使用WIFI上網
3.CMWAP(中國移動代理)
4.CMNET上網
這四種狀態,如果沒有網路,肯定是無法請求Internet了,如果是wap就需要為手機添加中國移動代理,關於為手機添加中國移動的代理,請到
http://www.bkjia.com/kf/201111/112100.html 這裡寫有關於添加中國移動代理的例子!
下面是網路判斷的方法:
view plain
/**
* @author sky
* Email vipa1888@163.com
* QQ:840950105
* 擷取當前的網路狀態 -1:沒有網路 1:WIFI網路2:wap網路3:net網路
* @param context
* @return
*/
public static int getAPNType(Context context){
int netType = -1;
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(networkInfo==null){
return netType;
}
int nType = networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE){
Log.e("networkInfo.getExtraInfo()", "networkInfo.getExtraInfo() is "+networkInfo.getExtraInfo());
if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){
netType = CMNET;
}
else{
netType = CMWAP;
}
}
else if(nType==ConnectivityManager.TYPE_WIFI){
netType = WIFI;
}
return netType;
}
因為擷取的是服務物件,所以這個網路狀態都是時時重新整理的,所以我們只需要得到網路狀態就可以了!
學習在於積累,希望和大家一起分享