Android 獲取網絡狀態
首先在AndroidManifest.xml添加權限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1,判斷是否有網絡連接public 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; }
2.判斷WIFI網絡是否可用
public 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; }
3.判斷MOBILE網絡是否可用
public 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; }
4.判斷網絡類型
//返回值 -1:沒有網絡 1:WIFI網絡2:wap網絡3:net網絡 public static int GetNetype(Context context) { int netType = -1; ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if(networkInfo==null) { return netType; } int nType = networkInfo.getType(); if(nType==ConnectivityManager.TYPE_MOBILE) { if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")) { netType = 3; } else { netType = 2; } } else if(nType==ConnectivityManager.TYPE_WIFI) { netType = 1; } return netType; }
本文由用戶 pw36 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!