sadece, bu kodu kullanabilirsiniz bir url ping istiyorsanız düşünüyorum: İsterseniz
try {
URL url = new URL("http://"+params[0]);
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestProperty("User-Agent", "Android Application:"+Z.APP_VERSION);
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1000 * 30); // mTimeout is in seconds
urlc.connect();
if (urlc.getResponseCode() == 200) {
Main.Log("getResponseCode == 200");
return new Boolean(true);
}
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Ve ping eşdeğerine sahip olmak için, aramadan önce ve sonra bir System.currentTimeMillis() koyabilirsiniz ve farkı hesaplayabilirsiniz.
kod parçacığını yardımcı
umutlar hep böyle başarısız Android 4 cihazlar hariç benim için iyi çalışıyor here
bulundu. Herhangi bir fikir? – dee
Aramayı ana iş parçanızdan kaldırmanız gerekiyor. Android 4, ANR sorunlarını önlemek için ana iş parçasında ağ çağrıları zorlar. –
Bu, tam 3 yönlü bir el sıkışma ile bir TCP bağlantısı kuracaktır. Yani zaman ping gibi bir şey değildir ('ICMP-echo -> ICMP-reply') –