博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中判断网络状态
阅读量:4462 次
发布时间:2019-06-08

本文共 1946 字,大约阅读时间需要 6 分钟。

首先在AndroidManifest.xml添加权限

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

1,判断是否有网络连接

 

[java] 
 
 
  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] 
 
 
  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] 
 
 
  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] 
 
 
    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. }  

转载于:https://www.cnblogs.com/changyiqiang/p/7794544.html

你可能感兴趣的文章
51nod 1428 活动安排问题
查看>>
HDU-2516-取石子游戏
查看>>
L2-031 深入虎穴(BFS)
查看>>
java之string字符串内存分配解析
查看>>
更有好的文本框[同样可以用于其它情况]信息提示
查看>>
WebApi接口安全认证
查看>>
BZOJ2730: [HNOI2012]矿场搭建
查看>>
BZOJ3529: [Sdoi2014]数表
查看>>
关于Cocos2d-x中增加暂停按钮的步骤
查看>>
Stm32高级定时器(二)
查看>>
0507弹性盒子、媒体查询
查看>>
__block 和 __weak的区别
查看>>
博客生涯开始咯
查看>>
javascript正则表达式
查看>>
HTML5触摸事件
查看>>
Codeforces Round 56-B. Letters Rearranging(思维)
查看>>
【Alpha版本】冲刺-Day1
查看>>
spring mvc 跨域问题。。。解决
查看>>
H-ui框架制作选项卡
查看>>
Merge Two Sorted Lists
查看>>