国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 判斷網絡狀態實例詳解

2019-12-12 03:07:43
字體:
來源:轉載
供稿:網友

Android 判斷網絡狀態實例詳解

實例代碼

package com.example.android;  import java.io.IOException; import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.URL; import java.util.Enumeration;  import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager;  public class NetStatus {    public static int NET_CNNT_BAIDU_OK = 1; // 正常訪問因特網狀態   public static int NET_CNNT_BAIDU_TIMEOUT = 2; // 無法訪問因特網狀態   public static int NET_NOT_PREPARE = 3; // 網絡未準備好   public static int NET_ERROR = 4;   private static int TIMEOUT = 3000;    /**    * 返回當前網絡狀態    *    * @param context    * @return    */   public static int getNetState(Context context) {   try {     ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);     if (connectivity != null) {     NetworkInfo networkinfo = connectivity.getActiveNetworkInfo();     if (networkinfo != null) {       if (networkinfo.isAvailable() && networkinfo.isConnected()) {       if (!connectionNetwork())         return NET_CNNT_BAIDU_TIMEOUT;       else         return NET_CNNT_BAIDU_OK;       } else {       return NET_NOT_PREPARE;       }     }     }   } catch (Exception e) {   }   return NET_ERROR;   }    /**    * 拼百度地址    *    * @return    */   private static boolean connectionNetwork() {   boolean result = false;   HttpURLConnection httpUrl = null;   try {     httpUrl = (HttpURLConnection) new URL("http://www.baidu.com").openConnection();     httpUrl.setConnectTimeout(TIMEOUT);     httpUrl.connect();     result = true;   } catch (IOException e) {   } finally {     if (null != httpUrl) {     httpUrl.disconnect();     }     httpUrl = null;   }   return result;   }    /**    * 判斷當前網絡是否是3G網絡    *    * @param context    * @return boolean    */   public static boolean is3G(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;   }    /**    * 判斷當前網絡是否是wifi網絡    *    * @param context    * @return boolean    */   public static boolean isWifi(Context context) {   ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();   if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {     return true;   }   return false;   }    /**    * 判斷當前網絡是否是2G網絡    *    * @param context    * @return boolean    */   public static boolean is2G(Context context) {   ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();   if (activeNetInfo != null && (activeNetInfo.getSubtype() == TelephonyManager.NETWORK_TYPE_EDGE       || activeNetInfo.getSubtype() == TelephonyManager.NETWORK_TYPE_GPRS        || activeNetInfo.getSubtype() == TelephonyManager.NETWORK_TYPE_CDMA)) {     return true;   }   return false;   }    /**    * wifi是否打開    */   public static boolean isWifiEnabled(Context context) {   ConnectivityManager mgrConn = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   TelephonyManager mgrTel = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);   return ((mgrConn.getActiveNetworkInfo() != null && mgrConn.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED)      || mgrTel.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);   }    /**    * 獲得本機ip地址    *    * @return    */   public static String GetHostIp() {   try {     for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {     NetworkInterface intf = en.nextElement();     for (Enumeration<InetAddress> ipAddr = intf.getInetAddresses(); ipAddr.hasMoreElements();) {       InetAddress inetAddress = ipAddr.nextElement();       if (!inetAddress.isLoopbackAddress()) {       return inetAddress.getHostAddress();       }     }     }   } catch (SocketException ex) {   } catch (Exception e) {   }   return null;   }    /**    * 獲取本機串號imei    *    * @param context    * @return    */   public static String getIMEI(Context context) {   TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);   return telephonyManager.getDeviceId();   } } 

添加權限:訪問網絡權限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  <uses-permission android:name="android.permission.INTERNET"/>  

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平山县| 万宁市| 伽师县| 江陵县| 荆州市| 瑞丽市| 佛坪县| 河源市| 道孚县| 榕江县| 来宾市| 巴青县| 商城县| 开封县| 东至县| 方山县| 瑞丽市| 兴仁县| 龙口市| 潢川县| 贺兰县| 丽江市| 海林市| 渭源县| 奉贤区| 巫山县| 清水河县| 大荔县| 吐鲁番市| 新河县| 锡林郭勒盟| 武川县| 英吉沙县| 玉田县| 咸阳市| 龙井市| 米林县| 银川市| 甘孜县| 昔阳县| 四子王旗|