首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过广播接收器监控Wifi连接和断开状态

通过广播接收器监控Wifi连接和断开状态
EN

Stack Overflow用户
提问于 2017-02-19 20:09:00
回答 1查看 947关注 0票数 0

我正在开发一个应用程序,我需要一个广播接收器,将监测wifi连接和断开连接的状态。我尝试了很多代码,浏览了很多stackoverflow帖子,但都没有成功。我还没有发现任何这样的方法/代码可以正常工作,一些代码根本不能工作,一些返回错误的信息,一些使广播接收器崩溃/重新启动等等。那么,从4.0.3 Icecream sandwitch开始,有没有一种完整的方法可以监控wifi连接/断开状态,适用于所有版本的android?任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-20 04:15:27

首先,您需要定义一个可以侦听网络更改事件的广播接收器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class NetworkChangeReceiver extends BroadcastReceiver {

    public static final String TYPE_NET_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";

    @Override
    public void onReceive(final Context context, Intent intent) {
        if (TYPE_NET_CONNECTIVITY_CHANGE.equals(intent.getAction())) {
            boolean connected = NetworkStatus.isNetworkConnected(context);
            if (connected) {
                //Connected

            } else {
              //Disconnected
            }
        }
    }
}

现在在清单中注册你的接收者,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<application
       ...>
    <receiver android:name=". NetworkChangeReceiver" >
        <intent-filter>
            <action android:name="android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION" />
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
    </receiver>

</application>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42332290

复制
相关文章
注册广播接收器registerReceiver
从registerReceiver(BroadcastReceiver receiver,IntentFilter filter)出发
全栈程序员站长
2022/11/17
1.1K0
Android基础总结(4)——广播接收器
  在Android中的每个应用程序可以对自己感兴趣的广播进行注册,这样该程序就只会接收自己所关心的广播内容,这些广播可能来自于系统的,也可能来自于其他应用程序的。Android提供了一整套完整的API,允许应用程序自由地发送和接收广播。发送广播就是借助之前了解过的Intent,接收广播则需要用到广播接收器(Broadcast Receiver)。. 1、广播的类型 标准广播:Normal broadcast,是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因
mukekeheart
2018/02/27
1.1K0
Android的WIFI和以太网连接状态
我们可以使用 ConnectivityManager 类来判断设备的网络状态。以下是一个 Kotlin 示例,说明了如何检查网络连接状态以及连接类型(例如 Wi-Fi 或移动数据):
程思扬
2023/07/10
6800
android广播注册方式_安卓广播接收器
前面分析了Android系统的广播机制,从本质来说,它是一种消息订阅/发布机制。因此,使用这种消息驱动模型的第一步便是订阅消息;而对Android应用程序来说,订阅消息其实就是注册广播接收器。
全栈程序员站长
2022/10/01
1K0
Android:检测网络状态&监听网络变化
由于在API23及以上时,getNetworkInfo(int networkType)方法已被弃用,取而代之的是:
Carson.Ho
2019/02/22
15.8K0
Carson带你学Android:检测网络状态&监听网络变化
由于在API23及以上时,getNetworkInfo(int networkType)方法已被弃用,取而代之的是:
Carson.Ho
2022/03/24
1.5K0
Carson带你学Android:检测网络状态&监听网络变化
通过jkstatus监控JK-1.2.40连接状态
通过jkstatus监控JK-1.2.40连接状态 ---------------------------------------------------------------------------------------------------------------------- 配置jkstatus 0)本文是建立在Apache与Tomcat采用JK的方式整合的基础上,整合过程详见 http://www.linuxidc.com/Linux/2014-09/107338.htm 1)在workers.properties文件中添加两行:worker.list=status(实际上是worker.list=status,tomcat)和worker.status.type=status 2)在httpd-vhosts.conf文件中的<Directory/>标签下添加一行:JkMount /jkstatus status 3)重启apache后,在浏览器中访问http://192.168.0.103/jkstatus即可,默认访问时不需要密码 ---------------------------------------------------------------------------------------------------------------------- 配置访问jkstatus的密码 1)修改httpd-vhosts.conf文件,在<Directory/>标签下新增如下内容   <Location /jkstatus>   Options MultiViews   AuthType Basic              #Basic验证   AuthName "Auther Center"    #弹出框的提示   AuthUserFile conf/.htpasswd  #存放密码的位置   require valid-user granted  #只有.htpasswd文件里面的用户才能进入  </Location> 2)生成密码文件   执行命令[/app/apache/bin/htpasswd -c /app/apache/conf/.htpasswd admin]即可,用于生成一个包含用户admin的密码文件   同时会让你输入两次新用户admin的密码,最后通过[ls -al]就可以看到生成的密码文件了(它是隐藏文件,需要-a才能看到) 3)修改密码   htpasswd -m .htpasswd 用户名 4)删除用户   htpasswd -D .htpasswd 用户名 5)最后重启apache就可以了 ---------------------------------------------------------------------------------------------------------------------- @create Sep 27, 2014 3:36:34 PM @author 玄玉<http://www.linuxidc.com>
星哥玩云
2022/07/03
4660
通过jkstatus监控JK-1.2.40连接状态
Win10突然断开Wifi并无法连接的解决办法
最近经常遇到用着用着电脑 Wifi 就突然“死亡”的情况,每次都要重启电脑才能解决,很是苦恼。今天在知乎上终于找到了解决的办法,跟着试了一下,果然再没有出过这问题。
半夜喝可乐
2019/06/11
2.4K0
Linux 下通过命令行连接 WiFi
Kali Linux 默认使用 Gnome 桌面环境,而在 Gnome 的顶部菜单栏中是可以直接选择无线网络并建立连接的,这就像在 Windows 中一样方便快捷。实际上除了 Kali 系统,其他的桌面版的 Linux 发行版(例如 Ubuntu、CentOS、RedHat 等)也都是可以在菜单栏或者系统设置中通过图形界面来配置无线网络连接的。
悠风
2019/08/28
38.7K2
Linux 下通过命令行连接 WiFi
在WiFi关闭状态连接已保存网络流程
WiFi关闭状态下在SavedNetwork界面点击CONNECT按钮,WiFI会自动打开并连接,下面是代码流程(本文档主要分析Settings层的逻辑,Framework层主要会用到打开wifi和连接的API,这里不做分析): android/packages/apps/Settings/res/values/strings.xml Connect
用户7557625
2020/07/15
1.6K0
Win10突然断开Wifi并无法连接的解决办法
近经常遇到用着用着电脑 Wifi 就突然“死亡”的情况,每次都要重启电脑才能解决,很是苦恼。今天在知乎上终于找到了解决的办法,跟着试了一下,果然再没有出过这问题。 1、在 开始按钮 上点击鼠标右
夏时
2018/06/26
12.9K3
Android WIFI是否连接,网络状态监测工具类
WIF工具类 示例代码 //Wifi网络监测线程 然后在onCreate方法里面开启 private Handler mHandlerWifi = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 0) { //图标显示
晨曦_LLW
2020/09/25
2K0
怎样使用C# 获取WIFI的连接状态?
本文是在知道WIFI网络设备名称的情况下,获取该设备的连接状态,同样也是可以判断是否已连接广域网。
zls365
2020/12/29
2.7K0
怎样使用C# 获取WIFI的连接状态?
通过select 和状态EINPROGRESS 实现socket 连接超时判断
调用connect连接一般的超时时间是75s, 但是在程序中我们一般不希望等这么长时间采取采取动作。 可以在调用connect之前设置套接字非阻塞,然后调用connect,此时connect会立刻返回, 如果连接成功则直接返回0(成功), 如果没有连接成功,也会立即返回并且会设置errno为EINPROCESS,这并不是一个致命错误,仅仅是告知你已经在连接了,你只要判断是它就继续执行后面的逻辑就行了,比如select.通过select设置超时来达到为connect设定超时的目的. 下面的代码显示这个过程。
全栈程序员站长
2022/09/09
1.2K0
49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)
    用来保存用户连接过的WIFI热点,好处在于,然后每次开启WIFI时,则会自动根据该文件来连接热点
诺谦
2018/12/28
6.8K0
rabbitMQ连接断开问题
按这样说法,应该还是没有把心跳值给设置好。上面的程序期望是10秒发一次心跳,但是理论上发送心跳的间隔会比10秒多一点。所以艾玛,我应该是把heartbeat_interval的作用搞错了, 它是指超过这个时间间隔不发心跳或不给server任何信息,server就会断开连接, 而不是说pika会按这个间隔来发心跳。 结果我把heartbeat_interval值设置高一点(比实际发送心跳/信息的间隔更长),比如上面设置成60秒,就正常运行了。
周小董
2019/03/25
6.3K0
Http协议时无状态的,没有记忆功能,连接--传送--断开
private 字段十+,然后输出到页面上,然后重复刷新页面。服务器不记的上次给了浏览器什么,否则服务器的压力会太大。
静心物语313
2020/03/24
6050
连接断开的线
前一段参加安图举办的用户大会,其中讲了一个案例:连接断开的线。今天将这个整理下分享给大家。魔板整体截图
数据处理与分析
2019/07/31
2.4K0
连接断开的线
centos7下如何通过命令连接wifi
用户在web端输入wifi名称和密码,客户端可以通过服务端下发的信息进行连接,centos7下如何通过命令连接wifi
用户7639835
2021/08/28
1.7K0
点击加载更多

相似问题

WiFi状态更改连接/连接/断开

10

android wifi状态随广播接收器更改

10

wifi连接改变广播接收器重复多次

54

广播接收器不适用于wifi状态

12

Wifi广播接收器接收

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文