Android 网络检测和网络监测
来源:互联网 发布:淘宝网钢笔明牌 编辑:程序博客网 时间:2024/06/05 20:07
Android App上与网络相关操作有的时候需要用到网络监听,有的时候则不需要,为什么?
结合本人的经验,描述如下:
(1)在Android手机上面需要用到网络的时候,我们需要先判断网络是否可用。此时,需要用到ConnectivityManager类,使用该类读取客户端网络信息(如:是否有网等)。如果我们能控制“检测网络状态”这个步骤(如:点击一次按钮触发一次网络状态检测),那么,则只需要用到ConnectivityManager即可;
(2)而当我们不能控制到底在什么时候触发“检测网络状态”这个步骤的时候,一般情况下,均在网络发生变化(从有网变为无网,从无网变为有网)的时候触发“检测网络是否可用”,此时就需要用到“网络监测”了。
注册网络监测器代码如下(代码来自:http://www.eoeandroid.com/thread-112224-1-1.html):
/* 注册网络监听*/ IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mNetworkStateReceiver, filter); /* 在Activity中的onDestroy中取消监听*/ unregisterReceiver(mNetworkStateReceiver);
注册网络监听的目的为:监听网络状态是否发生改变
(3)网络监听和网络状态检测两者结合所能解决的问题为: 根据网络状态变化自动检测网络是否可用,再根据其是否可用做相应操作。
使用情景示例:文件上传时,网络断开,此时中断文件上传;当网络恢复时,继续续传文件。
具体功能描述:网络状态发生变化(有网无网)的时候触发网络状态检测事件——先检测网络状态是否改变(网络广播接收器),若改变则需要判断当前网络状态是否可用(ConnectivityManager),如果网络可用则要做什么,如果网络不可以则要做什么。
- Android 网络检测和网络监测
- 【Android】网络监测
- android网络监测
- android 网络监测
- Android网络监测
- android检测网络和设置网络
- android允许访问网络和检测网络
- 使用netstat检测及监测网络连接
- 使用netstat检测及监测网络连接
- android 网络监测与设置
- Android 网络连通状态监测
- Android实践--监测网络状态
- Android实现监测网络状态
- android 实时监测网络变化
- Android Fillder工具网络监测
- 网络监测
- 网络监测
- 网络监测
- #if...#else...#endif
- [Android] Viewpager 与 Google map v2 冲突,导致地图不能左右滑动解决
- JAX-RS入门 二 :运行
- 内存泄漏检测
- IMP
- Android 网络检测和网络监测
- 算法学习笔记----确定n个元素的任何排列中逆序对的数目
- Hibernate主键生成策略总结
- iOS中的堆(heap)和栈(stack)的理解
- 求素数
- mysql的千万行级别的表的性能
- 解决Oracle 11g在用EXP导出时,空表不能导出
- iPhone程序开发 KVO/KVC实现机理分析
- IPC通信之有名管道