Android 通过WIFI状态监听广播,判断进入指定wifi范围

本文介绍了如何在Android中通过监听WIFI状态变化广播,结合WIFI扫描结果,判断设备是否进入特定WIFI范围。涉及到的广播包括WIFI状态变化、网络状态变化和扫描结果可用。监听到WIFI状态为开启并且扫描到目标WIFI的SSID,即可认为进入指定范围。
摘要由CSDN通过智能技术生成
WIFI状态变化会发送广播,一些可用的广播在WifiManger.java中可以看到。
广播一:WIFI 状态开关变化的监听,enabled,disabled等
/**
 * Broadcast intent action indicating that Wi-Fi has been enabled, disabled,
 * enabling, disabling, or unknown. One extra provides this state as an int.
 * Another extra provides the previous state, if available.
 *
 * @see #EXTRA_WIFI_STATE
 * @see #EXTRA_PREVIOUS_WIFI_STATE
 */
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String WIFI_STATE_CHANGED_ACTION =
    "android.net.wifi.WIFI_STATE_CHANGED";
// 自定义个broadcast 在广播接收器Broadcast中判断,
 if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {
  //这个监听wifi的打开与关闭,与wifi的连接无关  
            int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);   
            LogTag.showTAG_e("WIFI状态", "wifiState"+wifiState);  
            switch (wifiState) {   
            case WifiManager.WIFI_STATE_DISABLED:   
                break;   
            case WifiManager.WIFI_STATE_DISABLING:   
                break;   
           //  
            }   
        }
各个状态的值如下:
/**
 * Wi-Fi is currently being disabled. The state will change to {
    @link #WIFI_STATE_DISABLED} if
 * it finishes successfully.
 *
 * @see #WIFI_STATE_CHANGED_ACTION
 * @see #getWifiState()
 */
public static final int WIFI_STATE_DISABLING = 0;
/**
 * Wi-Fi is disabled.
 *
 * @see #WIFI_STATE_CHANGED_ACTION
 * @see #getWifiState()
 */
public static final int <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值