Creo que si lo que desea hacer ping a una dirección URL, puede utilizar este código:
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();
}
Y, si quieres para tener el equivalente a un ping, puede poner un System.currentTimeMillis() antes y después de la llamada, y calcular la diferencia.
esperanzas que ayuda
fragmento de código encuentran en here
Esto ha estado trabajando muy bien para mí, excepto para Android 4 dispositivos en los que siempre falla. ¿Algunas ideas? – dee
Necesita quitar la llamada de su hilo principal. Android 4 no exige llamadas de red en el hilo principal para evitar problemas de ANR. –
Esto establecerá una conexión TCP con un apretón de manos completo de 3 vías. Así que el tiempo no es como un ping ('ICMP-echo -> ICMP-reply') –