過去24時間以内に、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)
自分のフォアグラウンドサービスを作成するときに同様の問題が発生しましたが、これはキャストライブラリ内にあるため、制御できません。
Chromecastレシーバーはサードパーティによって処理されます。私たちは使用しています:
api "com.google.Android.gms:play-services-cast:17.0.0"
api "com.google.Android.gms:play-services-cast-framework:17.0.0"
潜在的な手がかり:
[〜#〜] update [〜#〜]:最終的にこれを再現することができました。画面がロックされている状態で長時間コンテンツをキャストし、その後デバイスから切断すると、クラッシュが発生します。たぶん、解決策に一歩近づく...
また、この問題は非常に似た症状で発生しています。キャストSDKバージョン16.1.2を使用しています
私たちが試したこと(SDK 18.0.0への更新)
@ Anjaneesh によって報告されているように、v18.0.0に更新すると問題が解決するようです。ただし、18.0.0では、カスタムデータの取得に関する動作の変更が導入されました。 remoteMediaClient's mediaInfo (そして、取得しようとする)に提供するカスタムデータが、送信側アプリが切断してから再接続するとnullになることを確認しました。まだの場合は、これを防ぐ必要があります。