您的位置:首页 > 理论基础 > 计算机网络

检测网络是否可用及网络类型

2016-08-17 10:54 429 查看
/**
* 检测网络是否可用
* @return
*/
public boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni != null && ni.isConnectedOrConnecting();
}

public class AllBroadcastReceiver extends BroadcastReceiver {

private final String Tag = "AllBroadcastReceiver";

@Override
public void onReceive(Context context, Intent intent) {
int networkTtpe= 0;
NetworkInfo netInfo;
String action = intent.getAction();

ConnectivityManager  mConnectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
//netInfo = mConnectivityManager.getActiveNetworkInfo();
netInfo = intent
.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {

if(NetworkInfo.State.CONNECTED == netInfo.getState()&& netInfo.isAvailable()) {
if(netInfo.getType()==ConnectivityManager.TYPE_WIFI){
/**WiFi网络**/
networkTtpe = 1;
LogUtils.i(Tag, "setNetworkTtpe : " +networkTtpe);
}else if(netInfo.getType()==ConnectivityManager.TYPE_ETHERNET){
/**有线网络**/
networkTtpe = 2;
LogUtils.i(Tag, "setNetworkTtpe : " +networkTtpe);
}else if(netInfo.getType()==ConnectivityManager.TYPE_MOBILE){
/**3g网络 **/
networkTtpe = 3;
LogUtils.i(Tag, "setNetworkTtpe : " +networkTtpe);
}
} else {
/**网络断开 **/
networkTtpe = 0;
LogUtils.i(Tag, "setNetworkTtpe : " +networkTtpe);
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: