En las últimas ~ 24 horas, hemos visto algunos miles de bloqueos en Google MediaNotificationService
:
Fatal Exception: android.app.RemoteServiceException
Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{f9a4deb u0 <our package name>/com.google.android.gms.cast.framework.media.MediaNotificationService}
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1855)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:214)
android.app.ActivityThread.main (ActivityThread.java:6986)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1445)
Experimenté problemas similares al crear mi propio servicio en primer plano, pero como esto está dentro de la biblioteca de reparto, no tenemos control sobre él.
El receptor Chromecast es manejado por un tercero. Estamos usando:
api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"
Posibles pistas:
- Está sucediendo en OnePlus, Huawei, Samsung, Google, aparentemente todos los fabricantes (y nivel de sistema operativo) en números que se correlacionan con su participación en el mercado.
- Los bloqueos se producen en diferentes líneas para diferentes dispositivos (por ejemplo, el anterior es el Galaxy S9, el S8 se bloquea en la línea 1872), por lo que no se agrupan en Crashlytics. Esto me sugiere que es un problema de nivel de OS / Google Play Services.
- Los bloqueos ocurren en todas las versiones activas de la aplicación, comenzando al mismo tiempo.
- Los accidentes han estado ocurriendo en cantidades bajas durante meses, pero de repente se dispararon durante el fin de semana y no muestran signos de desaceleración.
Respuestas:
Parece un problema conocido :
que un ingeniero de Google dice que es fijo :
pero no saben cuándo se lanzará la solución :
Las notas de la versión no mencionan una solución para esto.
Actualizaré esta respuesta si encuentro algo más.
Actualizar
Esto está arreglado. Ver
Anjaneesh
la respuesta .Actualizar
Hay algunos problemas con
18.0.0
. Verrednaz
la respuesta . Además, los comentaristas sobre el tema aún experimentan fallas con las plataformas Samsung y Huawei , pero a tasas muy reducidas. Presenté un nuevo problema sobre esto.fuente
La solución se lanzó en la biblioteca del cliente Android Cast SDK v18.0.0 (consulte el segundo elemento de las notas de la versión: https://developers.google.com/cast/docs/release-notes#december-5,-2019 )
El bloqueo debe repararse una vez que actualice a v18.0.0
fuente
También estamos experimentando este problema con síntomas muy similares. Estamos en Cast SDK versión 16.1.2
Lo que hemos probado (Actualización al SDK 18.0.0)
La actualización a v18.0.0 parece solucionar el problema según lo informado por @Anjaneesh . Sin embargo, 18.0.0 introdujo cambios de comportamiento en torno a la recuperación de datos personalizados. Hemos observado que los datos personalizados que suministramos a mediaInfo del RemoteMediaClient (y luego intentamos recuperarlos) se anulan cuando la aplicación del remitente se desconecta y luego se vuelve a conectar. ¡Esto deberá protegerse si aún no lo ha hecho!
fuente