android请求连接wifi之后验证密码是否正确的方法

在做wifi连接开发的时候遇到一个问题,就是请求连接一个指定SSID的wifi之后,不知道wifi密码是否正确的.

刚开始不知道怎么判断,于是开一个定时任务不断查询是否连接上指定SSID,到一定时长还未连上(例如10s),则提示密码错误.

后来在网上找到更好的方法了,其实就是直接接收广播就行了.


下面是一些广播接收代码,记得注册相应广播


if (action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) {
    LogLazy.e("wifi密码错误广播");
    int linkWifiResult = intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, 123);
    if (linkWifiResult == WifiManager.ERROR_AUTHENTICATING) {
        toast("密码错误");
    }
}



参考连接

http://www.eoeandroid.com/thread-318526-1-1.html


主要内容:

接收广播  WifiManager.html#SUPPLICANT_STATE_CHANGED_ACTION
里面有一个 EXTRA_SUPPLICANT_ERROR 若其值是 ERROR_AUTHENTICATING 则说明是密码错误

参考 
https://developer.android.com/reference/android/net/wifi/WifiManager.html#SUPPLICANT_STATE_CHANGED_ACTION
https://developer.android.com/reference/android/net/wifi/WifiManager.html#ERROR_AUTHENTICATING

你可能感兴趣的:(android)