在我们连接wifi时经常会遇到已经连接wifi但是没法上网的情况比如wifi已经连接路由器,但是路由器并没有插入网线等等都会出现这样的情况
那么在工作中如果需要在代码中判斷这种状态时该怎么判断呢?
首先你可能想到的是WifiManager或者广播因为这是系统提供给上层的访问接口,但是遗憾的是对于这种状态WifiManager和广播都沒有进行处理所以你需要想办法看看系统层该怎么处理。
思路:查看原生设置的代码设置中“已连接,但wifi已连接但无法访问问互联网”是怎么显示的在没有办法修改系统代码的前提下,你只需要将相应的代码抽离到你自己的app中就可以
具体的代码如下,自测ok
WORK_STATE_CHANGED_ACTION。在这個广播中加上上面代码的判断就可以实时的获取状态的更新情况
题外话,如果密码错误的话可以通过如下广播实现
更多精彩文章,请關注如下二维码对应公众号“代码视觉”转载请联系授权!