于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述Android 网络连接状态的监控相关的知识,希望能为你提供帮助。
【Android 网络连接状态的监控】有些应用需要连接网络,例如更新后台服务,刷新数据等,最通常的做法是定期联网,直接使用网上资源、缓存数据或执行一个下载任务来更新数据。
但是如果终端设备没有连接网络,或者网速较慢,就没必要执行这些任务。可以使用ConnectivityManager检查是事联网以及当前是何种类型的网络。具体
代码如下:
ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork =cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork.isConnectedOrConnecting(); //是否连接网络 boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
移动网络比Wi-Fi消耗的电量更多,所以在多数情况下,应用应该在有移动网络时减少刷新数据的频率,而在WiFi状态时去下载大文件。在网络重新连接时,
如果发现现在的状态是WiFi状态,那么就可以重新启动之前停止的下载操作或者刷新操作。网络连接状态的切换可以通过注册一个广播接受器来完成对网络状态的
监听。
< activity android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
推荐阅读
- 多进程通讯笔记 android aidl
- 关于iphone点击事件无效,安卓没问题
- AndroidStudio使用偷懒插件Butterknife和GsonFormat
- (Android数据传递)Service和Activity之间-- 借助BroadcastReceiver--的数据传递
- Android开发(《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle)
- (文件操作)Android相关的File文件操作
- Android面试套路题越来越深入
- Android开发之Retrofit+RxJava的使用
- 启动avd Android模拟器缓慢 HAXM自动安装失败