java - studio - volley android
requestRouteToHost Android (3)
¡Saludos a todos! Me estoy cansando bastante con la clase ConnectivityManager de Android. He estado intentando durante 5 horas obtener el requestRouteToHost para que funcione. Estoy ejecutando mi código en el emulador pero requestRouteToHost siempre falla. Sé que tengo conectividad porque llamé a getActiveNetworkInfo () y estaba conectado. He agregado los permisos ACCESS_NETWORK_STATE y CHANGE_NETWORK_STATE en vano. Algún consejo sería de gran aprecio.
EDIT -------- El método InetAddress.isReachable también falla. Estaba usando el nombre de host java.sun.com como se especifica en los documentos. Creo que esto es un problema con el emulador. Sam
Parece que requestRouteToHost () no está implementado para WiFi. La clase privada WifiStateTracker no tiene una implementación requestRouteToHost (). En cambio, la implementación predeterminada de la clase base NetworkStateTracker siempre devuelve falso.
La combinación requestRouteToHost (lookupHost ()) que estás haciendo es muy arriesgada
Vea su código:
conn_man.requestRouteToHost(ConnectivityManager.TYPE_WIFI, lookupHost("localhost")))
Aquí, primero hizo una búsqueda de host, y luego está solicitando una ruta hacia ella. Funcionará bien solo para direcciones estáticas (como localhost), donde no se realiza una búsqueda real. Si necesita una búsqueda DNS para resolver la dirección del host, fallará fácilmente. En general, requestRouteToHost es útil solo para direcciones estáticas.
Recomendaría probar requestRouteToHost()
con un host real. No solo no estoy convencido de que localhost
como nombre sea necesariamente reconocido en Android, sino que será el dispositivo / emulador en sí, que no funcionaría ni a través de WiFi ni 3G, por lo que esperaría que requestRouteToHost()
fallara.
También podría tener un problema con el lugar desde el que está obteniendo lookupHost()
. Por ejemplo, no estoy seguro de si esta implementación es compatible con localhost
.