您使用的代碼只是用來檢查您是否連接到無線網絡。它不檢查該WiFi是否緩慢。 (沒有互聯網意味着連接速度慢)。
我試過使用這段代碼。在這裏,我嘗試點擊google.com並設置連接超時值。 如果網速很好,那麼返回的結果是200.所以我檢查結果代碼是否爲200。如果沒有,我會顯示一個警報,說明互聯網連接速度很慢。在asyntask中使用它,onPostExecute()檢查返回結果的值。
HttpURLConnection urlc = null;
try {
urlc = (HttpURLConnection) (new URL("http://www.google.com")
.openConnection());
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1000); // choose your own timeframe
urlc.setReadTimeout(2000); // choose your own timeframe
try {
urlc.connect();
// returning connection code.
return (urlc.getResponseCode());
} catch (IOException e1) {
e1.printStackTrace();
}
Kaveesh Kanwal,這不是他要求的。 你給出的代碼片段只是爲了檢查設備是否連接到無線網絡。它不測試網速。 –
OP沒有詢問如何檢查網速。祝你好運。 –
他也沒有詢問如何檢查設備是否連接到無線網絡。 :) 由於沒有互聯網接入,我們所能做的只是檢查數據包的發送速度。 –