我有一個代碼,以確定是否有網絡連接或沒有:檢測如果沒有互聯網連接
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected())
{
// There is an internet connection
}
但如果有網絡連接,並沒有互聯網,這是沒用的。我非得ping一個網站和等待響應或超時來確定互聯網連接:
URL sourceUrl;
try {
sourceUrl = new URL("http://www.google.com");
URLConnection Connection = sourceUrl.openConnection();
Connection.setConnectTimeout(500);
Connection.connect();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// no Internet
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// no Internet
}
但它是一個緩慢的檢測。我應該學習一種快速,方便的方法來檢測它。
在此先感謝。
這意味着你也使用WIFI。我對嗎??? – 2012-07-30 09:15:37
是的,我只使用Wifi。 – 2012-07-30 09:17:52
那麼問題是什麼? – 2012-07-30 09:19:28