Au cours des dernières 24 heures, nous avons constaté quelques milliers de plantages dans MediaNotificationService
de Google:
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)
J'ai rencontré des problèmes similaires lors de la création de mon propre service de premier plan, mais comme il se trouve dans la bibliothèque de distribution, nous n'avons aucun contrôle dessus.
Le récepteur Chromecast est géré par un tiers. Nous utilisons:
api "com.google.Android.gms:play-services-cast:17.0.0"
api "com.google.Android.gms:play-services-cast-framework:17.0.0"
Indices potentiels:
UPDATE : Finalement réussi à reproduire ça. Le plantage se produit lors de la diffusion de contenu pendant une longue période avec l'écran verrouillé, puis lors de la déconnexion de l'appareil. Peut-être un pas de plus vers une solution ...
Nous rencontrons également ce problème avec très symptômes similaires. Nous sommes sur la version 16.1.2 du SDK Cast
Ce que nous avons essayé (Mise à jour vers SDK 18.0.0)
La mise à jour vers la v18.0.0 semble résoudre le problème signalé par @ Anjaneesh . Cependant, 18.0.0 a introduit des changements de comportement autour de la récupération de données personnalisées. Nous avons observé que les données personnalisées que nous fournissons au mediaInfo de remoteMediaClient (puis essayez de récupérer) sont annulées lorsque l'application émettrice se déconnecte puis se reconnecte. Cela devra être protégé si vous ne l'êtes pas déjà!