Limitaciones de lanzamiento del servicio en primer plano: Android12

  • Las aplicaciones destinadas a Android 12 o posterior no pueden iniciar servicios en primer plano mientras se ejecutan en segundo plano.
  • Si una aplicación intenta iniciar un servicio en primer plano mientras se ejecuta en segundo plano, se produce la excepción 🛑 ForegroundServiceStartNotAllowedException 🛑.
  • Android 12 o posterior brinda una experiencia fluida para servicios en primer plano de ejecución corta, el sistema está esperando 10 segundos antes de mostrar la notificación asociada a un servicio en primer plano.
  • el servicio puede rechazar de esta cambio de comportamiento pasando FOREGROUND_SERVICE_IMMEDIATE a setForegroundServiceBehavior() al configurar la notificación.

Contenidos

Casos especiales que aún se consideran válidos

  • La aplicación pasa de un estado visible al usuario, p. B. una actividad.
  • La aplicación puede iniciar una actividad en segundo plano.
  • La aplicación recibe un mensaje de alta prioridad mediante Firebase Cloud Messaging.

Consulta la lista completa aquí

Comprobar si la aplicación se está iniciando en segundo plano

  • Podemos habilitar Notificaciones 🔔 que aparecen cada vez que la aplicación intenta iniciar un servicio en primer plano mientras se ejecuta en segundo plano.
  • Ejecute el siguiente comando ADB en la máquina de desarrollo conectada al dispositivo o emulador 📱:

https://medium.com/media/0a3acecfeaf3cbec71c3244381a3a8e1/href

Atención 🔔 😬

alerta de notificación

servicio de primer plano

https://medium.com/media/a0cbf3008e4914dae09f510085061376/href

Clase de aplicación personalizada

  • Si la aplicación cambia al ⏹ ESTADO DE PARADA, luego de eso espera 5 segundos lo intentará 🏁 comienzo el servicio de primer plano.

https://medium.com/media/42567282d69e13450fe4baf310533968/href

soluciones

  • Administrador de trabajo 2.7: Úsalo para hacer esto Planificar y comenzar el trabajo acelerado mientras la aplicación se ejecuta en el antecedentes.

Uso de WorkManager en Android 12

  • Administrador de alarmas: Inicie los servicios de primer plano dentro de una alerta precisa ⏰ para realizar acciones urgentes solicitadas por el usuario.

Consulta el código completo aquí

GitHub: navczydev/SplashScreenAPISample sobre las limitaciones del servicio en primer plano

referencias

https://developer.android.com/about/versions/12/behavior-changes-12?authuser=4#foreground-service-launch-restrictionshttps://developer.android.com/guide/components/foreground-services? autthuser=4#notificación-inmediatahttps://developer.android.com/guide/components/foreground-services?authuser=4#background-start-restrictionshttps://developer.android.com/topic/libraries/architecture/workmanager/ how-to/define-work?authuser=4#aceleradohttps://developer.android.com/guide/components/foreground-services?authuser=4#background-start-restriction-exemptionshttps://developer.android.com/ reference/android/app/Notification.Builder?authuser=4#setForegroundServiceBehavior(int)https://developer.android.com/topic/libraries/architecture/workmanager/how-to/define-work?authuser=4#expeditedAndroid 12 Actualización Beta 5, ¡lanzamiento oficial por venir!

😊😊 👏👏👏👏 FELIZ CODIFICACIÓN 👏👏👏👏 😊😊

Mantenerse en contacto

  • Nav Singh escribe artículos sobre Android, Flutter, Kotlin ✍️
  • Nav Singh 🇨🇦 – Medium
  • Nav Singh – Ingeniero móvil – Manulife | LinkedIn
  • navczydev – descripción general
  • JavaScript no está disponible.


Restricciones en el lanzamiento de servicios en primer plano: Android 12 se lanzó originalmente en ProAndroidDev en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.