Android: Comprobar la conexión con el servidor
Así que tengo un método que comprueba si el dispositivo está conectado a Internet basado en este
Funciona bien, pero en un par de casos me parece que aunque el teléfono muestra estar conectado a Internet, todavía no tiene acceso a mi servidor. Lo que realmente estoy tratando de hacer es comprobar la conexión a mi URL específica.
- Aplicación de Android Service
- Transmisión de audio mediante el servicio
- Captura de notificaciones de otras aplicaciones
- Android: tener un servicio que se ejecuta todos los días a las 4 de la mañana
- Cree sólo una instancia de Service (Android)
¿Cómo podría implementar eso?
- Notificación de IntentService - NullPointerException mientras obtiene Context
- Cómo supervisar el cambio de estado de SIM
- Problema con android: protectionLevel = "firma"
- AVD no se está ejecutando
- No se pueden recibir las actualizaciones de ubicación de LocationClient después de que la pantalla se apagó
- Android PendingIntent Extra
- Enviar datos de la actividad al servicio
- Emulador de Android: ¿Cómo puedo obtener una lista de servicios que se están ejecutando
Usted podría hacer algo como:
public boolean isConnectedToServer(String url, int timeout) { try{ URL myUrl = new URL(url); URLConnection connection = myUrl.openConnection(); connection.setConnectTimeout(timeout); connection.connect(); return true; } catch (Exception e) { // Handle your exceptions return false; } }
Esto intentará conectarse a la URL de su servidor y si falla, obviamente no tiene una conexión. D
Puedes probar
InetAddress.getByName(host).isReachable(timeOut)
Runtime runtime = Runtime.getRuntime(); Process proc; try { proc = runtime.exec("ping -c 1"+ (String) getText(R.string.Server)); proc.waitFor(); int exit = proc.exitValue(); if (exit == 0) { // normal exit } else { // abnormal exit, so decide that the server is not // reachable } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // other servers, for example catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
- Rendimiento de almacenamiento de datos de Android
- Cómo crear GUI en Android en lugar de utilizar XML?