He recibido una notificación de una aplicación que dice "El servicio de transferencia de Amplify está en marcha". ¿Qué significa esto?
Respuesta
¿Demasiados anuncios?La aplicación utiliza la biblioteca de AWS Amplify para Android y esta notificación aparece cuando la aplicación está transfiriendo datos desde/hacia sus servicios AWS backend.
Referencias cruzadas desde Stack Overflow, Cada carga y descarga recibe la notificación "El servicio de transferencia de Amplify se está ejecutando" que hace referencia a un tema de GitHub, #1803 - Aparece una notificación en los dispositivos de los usuarios ,
Mientras se ejecuta la transferencia, pretendemos mostrar la notificación del servicio en primer plano para garantizar que la transferencia continúe si la aplicación se pone en segundo plano/se cierra. Lo ideal es que esta notificación en primer plano solo se muestre mientras la(s) transferencia(s) está(n) en curso.
De acuerdo con el solicitud de extracción Esto se debe a la límites de ejecución en segundo plano impuesto desde la API 26 (Android 8.0) que las aplicaciones en segundo plano no pueden iniciar servicios en segundo plano.
Mientras una aplicación está en primer plano, puede crear y ejecutar libremente servicios en primer y segundo plano. Cuando una aplicación pasa a segundo plano, dispone de una ventana de varios minutos en la que todavía puede crear y utilizar servicios. Al final de esa ventana, se considera que la aplicación está inactiva. En ese momento, el sistema detiene los servicios en segundo plano de la aplicación, como si ésta hubiera llamado a los servicios
Service.stopSelf()
métodos.
En casos normales, la notificación debería desaparecer una vez completada la transferencia. Sin embargo, el mantenedor de la biblioteca también observó un posible error:
Sin embargo, he observado que incluso después de completar una transferencia, la notificación sigue apareciendo, incluso si la propia aplicación se cierra. Esto parece ser un error que nuestro TransferService no se detiene al completar todas las transferencias.
En este caso, los desarrolladores de la aplicación tienen que arreglarlo.