Android中监听判断网络连接状态的方法

 更新时间:2014年06月26日 09:34:37   投稿:junjie  
这篇文章主要介绍了Android中监听判断网络连接状态的方法,介绍了是否有网络连接判断、连接的类型和监听网络状态的方法,需要的朋友可以参考下

在无网或网速差的状态下,没必要去连接服务器。
你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型。

判断是否有网络连接

下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接。

复制代码 代码如下:

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();

判断Internet连接类型

连接类型可能是移动数据,WiMax,WIFI,以太网。可以通过类似下面的方法查询网络类型:

复制代码 代码如下:
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

移动数据比WIFI耗电,应该注意。下载大文件应该延迟到有wifi以后。

监听连接改变

ConnectivityManager会在连接改变时发送广播”android.net.conn.CONNECTIVITY_CHANGE”,所以,注册,监听一下这个广播就可以:

复制代码 代码如下:
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

每次从移动数据和WIFI间改变时都会触发,这个改变可能会很频繁。最好是只有当你之前暂停下载或更新的时候,才去监听这个广播。通常在下载或更新前先检查一次网络连接。
下节讲切换开关在manifest里声明的接收器.

相关文章

  • Kotlin浅析null操作方法

    Kotlin浅析null操作方法

    Kotlin对比于Java的一个最大的区别就是它致力于消除空引用所带来的危险。在Java中,如果我们尝试访问一个空引用的成员可能就会导致空指针异常NullPointerException(NPE)的出现。在Kotlin语言中就解决了这个问题,下面来看看它是如何做到的
    2022-08-08
  • Android 使用viewpager实现无限循环(定时+手动)

    Android 使用viewpager实现无限循环(定时+手动)

    这篇文章主要介绍了Android 使用viewpager实现无限循环(定时+手动)的相关资料,需要的朋友可以参考下
    2015-11-11
  • Flutter利用Hero组件实现自定义路径效果的动画

    Flutter利用Hero组件实现自定义路径效果的动画

    本篇介绍了如何利用Hero动画组件的createRectTween属性实现自定义路径效果的动画。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • Android实现C/S聊天室

    Android实现C/S聊天室

    这篇文章主要为大家详细介绍了Android实现C/S聊天室的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Android接入阿里云热修复介绍

    Android接入阿里云热修复介绍

    大家好,本篇文章主要讲的是Android接入阿里云热修复介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Kotlin空安全空类型浅谈

    Kotlin空安全空类型浅谈

    这篇文章主要为大家介绍了Kotlin空安全空类型的实用技巧浅谈,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android  Naive与WebView的互相调用详解

    Android Naive与WebView的互相调用详解

    这篇文章主要介绍了Android Naive与WebView的互相调用详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Android Studio4.0解决Gradle下载超时问题

    Android Studio4.0解决Gradle下载超时问题

    这篇文章主要介绍了Android Studio4.0解决Gradle下载超时问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Android下拉刷新ListView——RTPullListView(demo)

    Android下拉刷新ListView——RTPullListView(demo)

    下拉刷新已经形成一种默认的用户习惯,今天主要介绍下在Android上实现下拉刷新的Demo,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-04-04
  • Android开源组件小结

    Android开源组件小结

    Android自带的组件比较丑陋(个人感觉),自己写组件比较复杂,而且必须熟悉android应用层开发的一些机制,如绘制、回调,所以非迫不得已的情况下还是不要自己写组件,因为怕考虑不周全导致譬如性能或异常方面的问题,你自己写也会耗费不少时间
    2013-02-02

最新评论