如何判断WIFI是否可以上网

有时候手机连接上WiFi,未必就可以上网了。


因为有些WiFi需要登录认证通过之后才能上网。


那么,Android开发如何判断WiFi是否可以上网呢?


其实也比较简单,下面就来说一下。


HttpURLConnection支持重定向功能,


当设备连接上WiFi之后,使用HttpURLConnection访问“http://captive.apple.com/”,


如果返回了“Success”则表示成功,如下




如果当前WiFi需要登录认证的话,HttpURLConnection会被重定向到登录页面,


那么返回的内容肯定就不是上面的内容了(WiFi万能钥匙就是这样做的)




除了以上方法之外,还有一种方法,这是最近在翻阅HttpURLConnection的API文档时发现的,其说明如下:


在一个WIFI网络中,在用户进行登录之后,网络都是一直被阻止的。这种登录页面通常是通过HTTP重写向来实现的。你可以调用getURL()方法来测试你的连接是否已经被意外重定向了。使用这种方法,需要你获得响应头,以下是一个示例:



你可能感兴趣的:(如何判断WIFI是否可以上网)