Android 中判断网络状态

首先在AndroidManifest.xml添加权限

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

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. }  
posted on 2017-11-06 18:26  巫山老妖  阅读(199)  评论(0编辑  收藏  举报