上篇文章给大家介绍了Android 网络状态实时监听代码实例(一),感兴趣的朋友可以点击了解详情,本文接着给大家介绍android网络状态监听相关知识,具体内容如下所示:

在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。

ConnectivityManager有四个主要任务:

1、监听手机网络状态(包括GPRS,WIFI, UMTS等)

2、手机状态发生改变时,发送广播

3、当一个网络连接失败时进行故障切换

4、为应用程序提供可以获取可用网络的高精度和粗糙的状态

当我们要在程序中监听网络状态时,只要一下几个步骤即可:

1、定义一个Receiver重载其中的onReceive函数,在其中完成所需要的功能,如根据WIFI和GPRS是否断开来改变空间的外观或者提示是否能访问网络

package com.bsharksdk.receiver;import com.bsharksdk.main.BSharkApi;import com.bsharksdk.ui.BSToast;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;/*** @author Javen* */public class ConnectionChangeReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {ConnectivityManager connectivityManager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mobNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);NetworkInfo wifiNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {BSToast.showLong(context, "网络不可以用");//改变背景或者 处理网络的全局变量}else {//改变背景或者 处理网络的全局变量}}} 

2、在适当的地方注册Receiver,可以在程序中注册,在onCreate中调用如下函数即可:

private void registerReceiver(){IntentFilter filter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);myReceiver=new ConnectionChangeReceiver();this.registerReceiver(myReceiver, filter);} 

3、在适当时取消注册Receiver,可以在程序中取消,在onDestroye中调用如下函数即可:

private void unregisterReceiver(){this.unregisterReceiver(myReceiver);} 

记得在 Activity中 设置变量 private ConnectionChangeReceiver myReceiver;

记得添加访问网络需要的权限

以上所述是小编给大家介绍的Android网络状态实时监听实例代码(2),希望对大家有所帮助!

更多相关文章

  1. C语言函数的递归(上)
  2. Android网络编程 HttpUrlConnection HttpClient AsyncTask
  3. linux kernel suspend Resume
  4. 关于Sytem.gc()主动触发Android(安卓)GC
  5. Android(安卓)客户端与服务器端进行数据交互(二、登录客户端)
  6. Android(安卓)Says Bonjour
  7. android 休眠唤醒机制分析(二)
  8. Android网络请求框架AsyncHttpClient详解(整理)
  9. Android(安卓)网络开发

随机推荐

  1. Android学习笔记:Handler
  2. Android 使用【AIDL】调用外部服务
  3. 用C/C++开发android应用
  4. windowSoftInputMode属性详解(Android)
  5. Android 串口开发知识总结(未完待续)
  6. android应用开发入门
  7. android 安卓系统
  8. Android多线程系统概述(sundy深入浅出)之进
  9. Android 面试题(1)
  10. 最新Android Studio更换应用图标方法