Android安卓获取网络状态

首先在AndroidManifest.xml添加权限

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

1,判断是否有网络连接

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  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
  在CODE上查看代码片 派生到我的代码片
  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
  在CODE上查看代码片 派生到我的代码片
  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
  在CODE上查看代码片 派生到我的代码片
  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. }  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值