¿Cómo recibir devoluciones de llamada en la pérdida de red para Android Nougat cuando la aplicación está cerrada?
Quiero poder tener cualquier cambio de red o cualquier pérdida de conectividad de red para despertar el servicio vinculado a mi aplicación cuando la aplicación esté cerrada. Esto solía ser logrado escuchando las transmisiones de CONNECTIVITY_CHANGE antes de hacerlo quedó obsoleto en Android Nougat. Todavía se pueden escuchar estas emisiones sólo mientras la aplicación está abierta creando mediante programación un receptor de difusión, pero mi aplicación también debe ser despertada si está cerrada.
Me di cuenta de que el método ConnectivityManager.registerNetworkCallback (NetworkRequest, PendingIntent) y su JavaDoc afirma que funciona mientras la aplicación está cerrada, pero cuando la llamo desde mi servicio, parece que sólo funciona una sola vez antes de que deja de responder a los eventos. Veo problemas similares con ConnectivityManager.registerNetworkCallback (NetworkRequest, NetworkCallback), una función Lollipop que sólo funciona con la aplicación abierta. ¿Cómo consigo que esta devolución de llamada basada en PendingIntent funcione de manera consistente?
- Cómo obtener la dirección IP y los nombres de todos los dispositivos en la red local en Android
- Cómo tratar los problemas de la red
- Conecte Eclipse al emulador de Android en una máquina diferente
- Android, NetworkInfo.getTypeName (), NullpointerException
- La pila TCP XBox 360 no responde a sondas TCP Zero Window con una carga útil de 0 bytes
Todos los reemplazos que Google sugiere en lugar de las transmisiones de CONNECTIVITY_CHANGE simplemente comprueban la presencia de una red. La mayoría de ellos son servicios de programación de trabajos. Suponen que las transmisiones CONNECTIVITY_CHANGE sólo se utilizaban para esperar la disponibilidad de la red para realizar un trabajo. Sin embargo, mi aplicación es una utilidad de red VPN, por lo que necesito ser notificado en cualquier cambio de red – No estoy meramente esperando la presencia de una red.
¡Gracias por tu ayuda!
- Android: NAT Traversal?
- Android: Restablecer programaticamente la señal de red de radio del teléfono
- ServerSocket no acepta en el emulador droid
- Temas y contribuciones para Volley
- UnityWebRequest Incorporación de datos de usuario y contraseña para la autenticación HTTP básica que no funciona en Android
- Iptables en android
- ¿Por qué la recepción de multidifusión no funciona en algunos dispositivos Android?
- Conecte el androide al LAN local vía el teléfono (sobre wifi O vía la conexión del USB)
- Android carga los datos html en las pestañas personalizadas de cromo
- Cómo enviar una notificación push de FCM (firebase cloud messaging) desde el ADB al dispositivo