Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo mantener un servicio con los oyentes vivo después de desatar en Android?

Actualmente estoy creando una aplicación de chat utilizando XMPP. He creado un servicio para manejar la conexión y los mensajes entrantes, agregando los diferentes oyentes necesarios.

El problema es, sin embargo, cuando la actividad llama desvincular el servicio (por ejemplo, cuando la actividad se detiene o se detiene cuando el usuario pone la aplicación en segundo plano), el servicio se destruye, aunque tiene oyentes dentro de él (como un chat Oyente, oyente de mensajes, etc.)

¿Cómo puedo mantener vivo mi servicio para poder recibir mensajes cuando la aplicación está en segundo plano? He leído que el uso de un servicio de primer plano es muy mal visto, así que prefiero evitar que si es posible.

  • Android: Unidad de prueba de un servicio
  • Cómo reiniciar el servicio después de que la aplicación sea eliminada de las tareas recientes
  • Diseño de hilos múltiples de Android Service
  • GCM de Android SERVICE_NOT_AVAILABLE
  • La llamada de servicio vuelve a la actividad en android
  • Android ¿cómo espero hasta que un servicio esté realmente conectado?
  • Ejecutar servicio incluso si la aplicación está cerrada (matado)
  • Acceda a Running service y llame a su método?
  • One Solution collect form web for “¿Cómo mantener un servicio con los oyentes vivo después de desatar en Android?”

    Realmente tuve esto al desarrollar mi aplicación recientemente.

    El truco es iniciar el Service por su propia cuenta y luego vincularlo con el Intent . Cuando se desvincula de él, el Service seguirá funcionando.

     Intent i = new Intent(this, DataService.class); startService(i); bindService(i, this, Context.BIND_AUTO_CREATE); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.