package net.nyist.netState; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; /**@author * *這是一個判斷當前網絡狀態的工具類 * */ public class netState { /** * * @return 是否有活動的網絡連接 */ public final boolean hasNetWorkConnection(Context context){ //獲取連接活動管理器 final ConnectivityManager connectivityManager= (ConnectivityManager) context. getSystemService(Context.CONNECTIVITY_SERVICE); //獲取鏈接網絡信息 final NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo(); return (networkInfo!= null && networkInfo.isAvailable()); } /** * @return 返回boolean ,是否為wifi網絡 * */ public final boolean hasWifiConnection(Context context) { final ConnectivityManager connectivityManager= (ConnectivityManager) context. getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); //是否有網絡並且已經連接 return (networkInfo!=null&& networkInfo.isConnectedOrConnecting()); } /** * @return 返回boolean,判斷網絡是否可用,是否為移動網絡 * */ public final boolean hasGPRSConnection(Context context){ //獲取活動連接管理器 final ConnectivityManager connectivityManager= (ConnectivityManager) context. getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); return (networkInfo!=null && networkInfo.isAvailable()); } /** * @return 判斷網絡是否可用,並返回網絡類型,ConnectivityManager.TYPE_WIFI,ConnectivityManager.TYPE_MOBILE,不可用返回-1 */ public static final int getNetWorkConnectionType(Context context){ final ConnectivityManager connectivityManager=(ConnectivityManager) context. getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo wifiNetworkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); final NetworkInfo mobileNetworkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(wifiNetworkInfo!=null &&wifiNetworkInfo.isAvailable()) { return ConnectivityManager.TYPE_WIFI; } else if(mobileNetworkInfo!=null &&mobileNetworkInfo.isAvailable()) { return ConnectivityManager.TYPE_MOBILE; } else { return -1; } } }