Android中判断当前网络是否可用
转载原文地址:http://www.cnblogs.com/renqingping/archive/2012/10/18/Net.html
当前有可用网络,如下图:
当前没有可用网络,如下图:
实现步骤:
1、获取ConnectivityManager对象
- Context context = activity.getApplicationContext();
- // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
- ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
2、获取NetworkInfo对象
- // 获取NetworkInfo对象
- NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
3、判断当前网络状态是否为连接状态
- if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
- {
- return true;
- }
4、在AndroidManifest.xml中添加访问当前网络状态权限
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
代码如下:

- public class ClassTestDemoActivity extends Activity
- {
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- if (isNetworkAvailable(ClassTestDemoActivity.this))
- {
- Toast.makeText(getApplicationContext(), "当前有可用网络!", Toast.LENGTH_LONG).show();
- }
- else
- {
- Toast.makeText(getApplicationContext(), "当前没有可用网络!", Toast.LENGTH_LONG).show();
- }
- }
- /**
- * 检查当前网络是否可用
- *
- * @param context
- * @return
- */
- public boolean isNetworkAvailable(Activity activity)
- {
- Context context = activity.getApplicationContext();
- // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
- ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivityManager == null)
- {
- return false;
- }
- else
- {
- // 获取NetworkInfo对象
- NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
- if (networkInfo != null && networkInfo.length > 0)
- {
- for (int i = 0; i < networkInfo.length; i++)
- {
- System.out.println(i + "===状态===" + networkInfo[i].getState());
- System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
- // 判断当前网络状态是否为连接状态
- if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
- {
- return true;
- }
- }
- }
- }
- return false;
- }
- }

控制台打印出的结果:
Android中判断当前网络是否可用的更多相关文章
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...
- Android判断当前网络是否可用--示例代码
Android判断当前网络是否可用--示例代码 分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报 网络androiddialogmanagern ...
- Android 中判断网络状态
首先在AndroidManifest.xml添加权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_ ...
- Android检测网络状态,判断当前网络是否可用
用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 检测当前网络是否可用,代码如下: /** * 检 ...
- Android之判断设备网络连接状态,并判断连接方式
在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络.判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线 ...
- Android中的异步网络请求
本篇文章我们来一起写一个最基本的Android异步网络请求框架,借此来了解下Android中网络请求的相关姿势.由于个人水平有限,文中难免存在疏忽和谬误,希望大家可以指出,谢谢大家:) 1. 同步网络 ...
- Android中判断字符是否为中文、韩文、日文
我们经常需要在程序中判断一个字符是否为CJK(Chinese.Japanese.Korean)语言的字符. 例如,在Contacts里面程序需要判断联系人姓名的所属语言. 今天为大家介绍一种NameS ...
- Android之判断当前网络状态
/** * 检测网络是否可用 * @return */ public boolean isNetworkConnected() { ConnectivityManager cm = (Connecti ...
- android中判断网络连接是否可用
一.判断网络连接是否可用 public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (C ...
随机推荐
- 最最最简单的轮播图(JQuery)
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- jqury.jqzoom插件--放大镜
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- linux服务器挂载第二块磁盘图文解说
文章来源:http://www.cndns.com/help/help_con.aspx?hid=394 Linux磁盘挂载是比较常见的管理操作之一.我司橙云预装的linux系统有2块盘,一块为系统盘 ...
- 关于64位WIN7下正确建立JAVA开发环境(转
1.下载并安装JDK(地址:http://www.oracle.com/technetwor ... ownload-400750.html 先在“Accept License Agreeme ...
- hdu----(4301)Divide Chocolate(状态打表)
多校综合排名前25名的学校请发送邮件到HDUACM@QQ.COM,告知转账信息(支付宝或者卡号) Divide Chocolate Time Limit: 2000/1000 MS (Java/Oth ...
- C语言中static变量详解
Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者“全局”的意思,用来修饰变量和函数.经static修饰过后的变量或者函数的作用域或者存储域会发生变化 ...
- 解析 MACH_O 文件
现在做iOS开发的挺多,了解一下在苹果平台上程序运行的原理 解析 MACH_O 文件 这篇文章描述了如何解析 Mach-O 文件并稍微解释了一下它的格式.这不是一份权威指南,不过当你不知从何开始时,它 ...
- 实验一 Java开发环境的熟悉境的熟悉
- 运行结果: (一)命令行下Java程序开发 (二)Eclipse下Java程序开发.调试 设置断点和单步运行 单步运行:Step Into(快捷捷F5)和Step Over(快捷捷F5) 使程序直 ...
- lucene字典实现原理——FST
转自:http://www.cnblogs.com/LBSer/p/4119841.html 1 lucene字典 使用lucene进行查询不可避免都会使用到其提供的字典功能,即根据给定的term找到 ...
- ext afteredit
ext afteredit详解 grid.on("afteredit",afterEidt,grid); function(obj) { obj.row;;//修改过的行从0开始 ...