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里声明的接收器.

相关文章

  • 自定义GridView并且实现拖拽(附源码)

    自定义GridView并且实现拖拽(附源码)

    本文实现了GridView的拖拽功能,原理很简单只是在交换位置上记录了X轴的相关坐标,计算了X轴的相关变量,实例代码如下,感兴趣的额朋友可以参考下哈
    2013-06-06
  • Android实现微博菜单弹出效果

    Android实现微博菜单弹出效果

    这篇文章主要为大家详细介绍了Android实现微博菜单弹出效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Android实现简易的闹钟功能

    Android实现简易的闹钟功能

    这篇文章主要为大家详细介绍了Android实现简易的闹钟功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 浅谈Android手机联系人开发之增删查改功能

    浅谈Android手机联系人开发之增删查改功能

    这篇文章主要介绍了Android手机联系人开发之增删查改功能,需要的朋友可以参考下
    2017-05-05
  • Android中Hilt的使用详解

    Android中Hilt的使用详解

    Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码,本文就来为大家介绍一下Hilt的具体使用吧,希望对大家有所帮助
    2023-06-06
  • Android实现搜索本地音乐的方法

    Android实现搜索本地音乐的方法

    这篇文章主要为大家详细介绍了Android实现搜索本地音乐的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Flutter实现底部和顶部导航栏

    Flutter实现底部和顶部导航栏

    这篇文章主要为大家详细介绍了Flutter实现底部和顶部导航栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 自定义ListView实现拖拽ListItem项交换位置(附源码)

    自定义ListView实现拖拽ListItem项交换位置(附源码)

    本文要实现的是拖拽ListView的Item项,在布局方面还是用基于布局泵LayoutInflater来从不同的Layout模板拿到不同的布局然后将view返回,感兴趣的朋友可以了解下哈
    2013-06-06
  • Android socket实现原理详解 服务端和客户端如何搭建

    Android socket实现原理详解 服务端和客户端如何搭建

    这篇文章主要为大家详细介绍了Android socket实现原理详解,以及服务端和客户端的搭建方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Apache Cordova Android原理应用实例详解

    Apache Cordova Android原理应用实例详解

    这篇文章主要为大家介绍了Apache Cordova Android原理应用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论