1.獲取已經連接過的wifi列表
mWifiManager.getConfiguredNetWorks()
2.Wfi掃描開啓 ScnnerHandle 定時掃描
3.連接過程中驗證wifi密碼錯誤
ScnnerHandle定時掃描wifi 獲取到連接過的wifi列表,根據選定連接的wifi.ssid 和wifi列表中對應的ssid 比較
更新連接wifi item 項的信息,config.states == 1 (查看源碼) 表示連接不上,config有隱藏的屬性 disableReason
源碼中可以直接訪問到,應用層無法看到,使用發射的方法
config = mWifiManager.getConfiguredNetWorks().get(i).SSID
Class cls = Class.forName("android.net.wifi.WifiConfiguration");
Field field = cls.getField("disableReason");//反射對應隱藏的屬性
int disableReason = (Integer)field.get(config);//獲取到對應屬性值 =3 標識身份驗證錯誤