Android判断网络状况

啊,调bug的时候发现在没有网络的时候程序会崩,因此决定加个网络判断的。就是这个代码啦~然后到了要用的时候,new一个类对象调用这个方法就可以了。

package com.who;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class Connection {
	
	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;
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CodingBlock

Android插件化-RePlugin项目集成与使用

前言:前一段时间新开源了一种全面插件化的方案-- RePlugin,之前一种都在关注 DroidPlugin 并且很早也在项目中试用了,但最终没有投入到真正的生...

52700
来自专栏CodingBlock

Android项目开发全程(三)-- 项目的前期搭建、网络请求封装是怎样实现的

  在前两篇博文中已经做了铺垫,下面咱们就可以用前面介绍过的内容开始做一个小项目了(项目中会用到Afinal框架,不会用Afinal的童鞋可以先看一下上一篇博文...

32900
来自专栏海说

Spring IOC容器分析(4) -- bean创建获取完整流程

上节探讨了Spring IOC容器中getBean方法,下面我们将自行编写测试用例,深入跟踪分析bean对象创建过程。 测试环境创建 测试示例代码如下: pac...

36900
来自专栏人工智能

苹果高管不屑:安卓手机的人脸识别技术很糟糕

本文系网易智能工作室(公众号 smartman 163)出品。聚焦AI,读懂下一个大时代! 【网易智能讯 12月11日消息】苹果CMO(首席营销官)菲尔·席勒(...

26800
来自专栏汪毅雄的专栏

Android View和 Window 的关系

本文主要介绍了Android中Window和View的关系,并在用户进程中说明了View的加载过程,最后再简单认识了一下WMS控制、显示Window的主要步骤。

2.3K40
来自专栏企鹅号快讯

20个经常更新的高质量博客

往期精选 1、Programcreek.com:主要介绍 Java,关注设计模式、对比、算法、Java基础、进阶和大量的问题讨论。前往 Programcreek...

32900
来自专栏西安-晁州

react-native学习之入门app

1、项目初始化: react-native init MyProject 2、启动项目: cd MyProject react-native start 新开c...

24300
来自专栏腾讯移动品质中心TMQ的专栏

APP省流量更新监控最佳实践

移动分发市场竞争已进入炽热化,已不再是当年野蛮生长阶段。各大分发市场都在走精细化与差异化路线。其中,省流量更新(增量更新)成为提升用户体验,增加用户留驻粘性的一...

53910
来自专栏企鹅号快讯

CNNVD最新漏洞

今日CNNVD共发布安全漏洞48个,更新安全漏洞2个。主要影响厂商为美国Google(22个)、美国IBM(6个)、美国Linux(4个),主要影响产品为And...

27800
来自专栏腾讯移动品质中心TMQ的专栏

Android so的热升级尝试

在Android代码中,加载so库是通过调用System.loadLibrary函数实现的。但和Android的许多特性一样,只提供了加载,而没有卸载和更换等功...

19900

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励