在實際開發中,往往一些工具類對我們的幫助是非常大的,借此,我在前人各位前輩的基礎上,整理了一個網絡的工具類,特此獻上:
/** * @類名:NetUtil * @類描述:網絡判斷處理類 * @創建時間:2015年2月12日-上午9:34:32 * @修改人: * @修改時間: * @修改備注: * @版本: */public class NetUtil { /* 網絡狀態 */ public static boolean isNet = true; public static enum netType { wifi, CMNET, CMWAP, noneNet } /** * @方法說明:判斷WIFI網絡是否可用 * @方法名稱:isWifiConnected * @param context * @return * @返回值:boolean */ 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; } /** * @方法說明:判斷MOBILE網絡是否可用 * @方法名稱:isMobileConnected * @param context * @return * @返回值:boolean */ 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; } /** * @方法說明:獲取當前網絡連接的類型信息 * @方法名稱:getConnectedType * @param context * @return * @返回值:int */ 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; } /** * @方法說明:獲取當前的網絡狀態 -1:沒有網絡 1:WIFI網絡2:wap 網絡3:net網絡 * @方法名稱:getAPNType * @param context * @return * @返回值:netType */ public static netType getAPNType(Context context) { ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo == null) { return netType.noneNet; } int nType = networkInfo.getType(); if (nType == ConnectivityManager.TYPE_MOBILE) { if (networkInfo.getExtraInfo().toLowerCase().equals("cmnet")) { return netType.CMNET; } else { return netType.CMWAP; } } else if (nType == ConnectivityManager.TYPE_WIFI) { return netType.wifi; } return netType.noneNet; } /** * @方法說明:判斷是否有網絡連接 * @方法名稱:isNetworkConnected * @param context * @return * @返回值:boolean */ 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; } /** * @方法說明:網絡是否可用 * @方法名稱:isNetworkAvailable * @param context * @return * @返回值:boolean */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager mgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] info = mgr.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } return false; } /** * @方法說明:判斷是否是手機網絡 * @方法名稱:is3GNet * @param context * @return * @返回值:boolean */ public static boolean is3GNet(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } return false; }}好的!希望對大家有幫助!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答