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

网络判断工具类

2016-06-01 21:07 274 查看

使用网络判断工具类在请求数据前,进行判断网络,如果网络状态OK,继续执行,反之给予合理提示

工具类代码

package org.easycoding.mobile.android.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetStateUtils {

/**
* 判断网络连接状态
*
* @param context
* @return  true:网络已链接, false:网络已断开连接
*/
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}

/**
* 判断wifi状态
*
* @param context
* @return true:是wifi情况 ,false:非wifi情况
*/
public static boolean isWifiConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null) {
return mWiFiNetworkInfo.isAvailable();
}
}
return false;
}

/**
* 判断移动网络
*
* @param context
* @return true:是移动网络情况, false:非移动网络情况
*/
public static boolean isMobileConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mMobileNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mMobileNetworkInfo != null) {
return mMobileNetworkInfo.isAvailable();
}
}
return false;
}

/**
* 获取连接类型
*
* @param context
* @return
*/
public static int getConnectedType(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {
return mNetworkInfo.getType();
}
}
return -1;
}
}


在activity中调用

//使用工具类对象调用判断网络连接的方法,网络可用返回true,不可用返回false
boolean networkConnected = NetStateUtils.isNetworkConnected(MainActivity.this);
if(networkConnected)
{
//请求网络
getNetWork(url);
}
else
{
Toast.makeText(MainActivity.this,"网络不可用,请检测网络",0).show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 数据 class