5 votos

El teléfono no responde al ping

Estoy tratando de desarrollar una aplicación que reconoce cuándo estoy en casa basado en si mi teléfono está en mi red wifi o no. Me estoy encontrando con un problema extraño en el que solo puedo hacer ping al teléfono si he intentado recientemente (dentro del último minuto más o menos) acceder a una página web en la máquina desde la que estoy haciendo ping. Ni siquiera puedo obtener una respuesta ARP a menos que haya intentado acceder recientemente a la máquina.

Entonces, ¿los teléfonos Android tienen un firewall muy restrictivo por defecto? ¿Hay alguna forma de cambiar esto?

No creo que sea un problema de red, porque puedo hacer ping al teléfono en cualquier momento desde mi enrutador, simplemente no responde a otros clientes en la red.

6voto

Lie Ryan Puntos 15629

Creo que esto se debe simplemente a que Android pone el Wifi en modo de suspensión para ahorrar energía cuando la pantalla está apagada. Puedes intentar configurar la política de suspensión del Wifi en: Configuración > Configuración de Redes Inalámbricas > Ajustes de Wifi > Presionar el botón Menú > Avanzado > Política de suspensión del Wifi a Nunca y ver si tu problema persiste.

Alternativamente, en lugar de hacer que tu servidor mande un ping a tu teléfono, creo que será más fácil que el teléfono haga un "ping" (o haga una solicitud HTTP u otros métodos) al servidor cuando se conecte a tu red Wifi. Tu aplicación puede registrarse en el sistema para recibir un Intent de broadcast cuando ciertos eventos de Wifi ocurran.

0 votos

Sí, eso fue. Estaba tratando de evitar tener una aplicación ejecutándose en el teléfono, porque en realidad no me gusta escribir código en Java. Parece que puede ser necesario sin embargo.

0 votos

Podrías utilizar Tasker o Locale en lugar de escribir tu propia aplicación. Ambos te permiten una flexibilidad considerable para configurar reglas, las cuales podrían incluir hacer una solicitud http a tu servidor cuando estés en el rango de tu red inalámbrica.

1voto

Antonello Puntos 11

Si tienes Droidwall, permite acceso a "(kernel) - Linux Kernel".

En mi teléfono, esta es definitivamente la razón por la que Android responde o no a un ping o tracert.

0 votos

La antigua aplicación "Droidwall" ahora se llama o ha sido desarrollada como AFWall. Y sí, poner la marca de verificación en la columna de WiFi en "(kernel) - Linux Kernel" también me lo solucionó.

0voto

Qiyu Wen Puntos 151

Estoy experimentando esto todavía con Android Q hoy (2019). Voy a optar por una solución de IFTTT usando webhooks para enviar el comando REST que necesito enviar. Mi script original estaba escrito de tal manera que verificaba cuando mi teléfono estaba "fuera" durante el transcurso de un minuto. Si volvía "a casa" dentro de ese tiempo, no encendía las cámaras de seguridad. Ahora, tendré que cambiar esa programación a un tipo diferente de dispositivo (Universal Devices ISY). La función de temporizador es importante, ya que un teléfono puede necesitar reiniciarse, etc.

0voto

john mcdonald Puntos 253

Resuelto: necesita que el teléfono esté conectado a una red LAN. Instale una aplicación de gestión de red como "IP Tools" y haga clic en "Explorador LAN" para ver todos los otros dispositivos conectados en la red, ¡ahora verifique de nuevo y el ping funcionará!

0voto

martineau Puntos 21665

Tengo el mismo problema con mi dispositivo Android que ejecuta Android 11 solamente. No sé si esto es un problema de Android 11 o de mi nuevo teléfono.

En otros dispositivos que ejecutan Android 10, nunca tengo problemas.

Tengo que instalar PingTool para hacer ping a mi PC primero para que la PC tenga la entrada ARP de ese dispositivo. Realmente no me gusta esto.

Debido a esto, da un paso adicional para conectar Android Studio a ese dispositivo a través de ADB.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X