网络判断工具类
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(); }