Android安卓获取网络状态

首先在AndroidManifest.xml添加权限


1,判断是否有网络连接

[java]  view plain  copy
 
  1. public boolean isNetworkConnected(Context context) {    
  2.     if (context != null) {    
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
  5.         NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();    
  6.         if (mNetworkInfo != null) {    
  7.             return mNetworkInfo.isAvailable();    
  8.         }    
  9.     }    
  10.     return false;    
  11. }  

2.判断WIFI网络是否可用

[java]  view plain  copy
 
  1. public boolean isWifiConnected(Context context) {    
  2.     if (context != null) {    
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
  5.         NetworkInfo mWiFiNetworkInfo = mConnectivityManager    
  6.                 .getNetworkInfo(ConnectivityManager.TYPE_WIFI);    
  7.         if (mWiFiNetworkInfo != null) {    
  8.             return mWiFiNetworkInfo.isAvailable();    
  9.         }    
  10.     }    
  11.     return false;    
  12. }  

3.判断MOBILE网络是否可用

[java]  view plain  copy
 
  1. public boolean isMobileConnected(Context context) {    
  2.     if (context != null) {    
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
  5.         NetworkInfo mMobileNetworkInfo = mConnectivityManager    
  6.                 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);    
  7.         if (mMobileNetworkInfo != null) {    
  8.             return mMobileNetworkInfo.isAvailable();    
  9.         }    
  10.     }    
  11.     return false;    
  12. }  

4.判断网络类型

[java]  view plain  copy
 
  1.        //返回值 -1:没有网络  1:WIFI网络2:wap网络3:net网络  
  2. public static int GetNetype(Context context)  
  3. {   
  4.     int netType = -1;    
  5.     ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   
  6.     NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();   
  7.     if(networkInfo==null)  
  8.     {   
  9.         return netType;   
  10.     }   
  11.     int nType = networkInfo.getType();   
  12.     if(nType==ConnectivityManager.TYPE_MOBILE)  
  13.     {   
  14.         if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet"))  
  15.         {   
  16.             netType = 3;   
  17.         }   
  18.         else  
  19.         {   
  20.             netType = 2;   
  21.         }   
  22.     }   
  23.     else if(nType==ConnectivityManager.TYPE_WIFI)  
  24.     {   
  25.         netType = 1;   
  26.     }   
  27.     return netType;   
  28. }  

你可能感兴趣的:(Android安卓获取网络状态)