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 标识身份验证错误