Android检测网络状态,判断当前网络是否可用

用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户打开网络了并且可以连上互联网进行上网。

检测当前网络是否可用,代码如下:

  1. /** 
  2.      * 检测当的网络(WLAN、3G/2G)状态 
  3.      * @param context Context 
  4.      * @return true 表示网络可用 
  5.      */  
  6.     public static boolean isNetworkAvailable(Context context) {  
  7.         ConnectivityManager connectivity = (ConnectivityManager) context  
  8.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  9.         if (connectivity != null) {  
  10.             NetworkInfo info = connectivity.getActiveNetworkInfo();  
  11.             if (info != null && info.isConnected())   
  12.             {  
  13.                 // 当前网络是连接的  
  14.                 if (info.getState() == NetworkInfo.State.CONNECTED)   
  15.                 {  
  16.                     // 当前所连接的网络可用  
  17.                     return true;  
  18.                 }  
  19.             }  
  20.         }  
  21.         return false;  
  22.     } 

在AndroidManifest.xml文件添加的权限:

    1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    2. <uses-permission android:name="android.permission.INTERNET"/> 
posted @   brave-sailor  阅读(6475)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2016-04-07 swift 中String常用操作
2016-04-07 iOS动画开发之五——炫酷的粒子效果
2016-04-07 UIView层次管理bringSubviewToFront,sendSubviewToBack
2016-04-07 CAEmitterLayer实现粒子效果
2016-04-07 swift 实现漂亮的粒子效果CAEmitterLayer
2016-04-07 ios 基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果demo
2015-04-07 Android实现 ScrollView + ListView无滚动条滚动
点击右上角即可分享
微信分享提示