Android静态注册广播receiver检测WIFI连接状况变化

本文介绍如何在Android中静态注册一个广播接收器,用于监听并检测WiFi状态的变化,包括连接、关闭和开启。通过配置AndroidManifest.xml文件中的intent-filter过滤器,实现对WiFi事件的响应。


Android静态注册广播receiver检测WIFI连接状况变化

在AndroidManifest.xml静态注册一个receiver,增加对WiFi状态变化时候Android系统发送的广播事件过滤器,从而达到监听、检测WiFi状态变化。

 <receiver android:name="zhangphil.wifi.WIFIStateChangedBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.net.wifi.STATE_CHANGE" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
        </receiver>


完成相关广播接收器:

package zhangphil.wifi;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.util.Log;

public class WIFIStateChangedBroadcastReceiver extends BroadcastReceiver {

	private final String tag = "WIFI链接状况";

	@Override
	public void onReceive(Context context, Intent intent) {

		if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
			NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
			if (info.getState().equals(NetworkInfo.State.CONNECTED)) {

				WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
				WifiInfo wifiInfo = wifiManager.getConnectionInfo();

				// 当前WIFI名称
				Log.d(tag, "连接到WIFI " + wifiInfo.getSSID());
			}
		}

		if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
			int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);

			if (wifistate == WifiManager.WIFI_STATE_DISABLED) {
				Log.d(tag, "WIFI关闭");
			}

			if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
				Log.d(tag, "WIFI开启");
			}
		}
	}
}



增加权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


附录相关文章:
【文章1】《Android判断设备是否打开WIFI、GPRS数据连接》链接地址:http://blog.youkuaiyun.com/zhangphil/article/details/43800909
【文章2】《Android检查设备是否联网》链接地址:http://blog.youkuaiyun.com/zhangphil/article/details/43795063


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangphil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值