Этот пример приложения, который я использовал, просто отлично работал.
Где-то в последние несколько месяцев Google обновил Google Play Services (и сам Chromecast), и теперь, когда я вызываю play()
в RemotePlaybackClient
для Chromecast, службы Google Play сами сбой:
E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.google.android.gms.cast.media.aq.a(SourceFile:96)
at com.google.android.gms.cast.media.n.i(SourceFile:1856)
at com.google.android.gms.cast.media.u.run(SourceFile:2092)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Обратите внимание, что сам вызов play()
имеет желаемый эффект, поскольку Chromecast воспроизводит медиа. Но когда-то после вызова ItemActionCallback
с onResult()
происходит вышеупомянутый сбой в службах Google PLAY. Это, в свою очередь, приводит к срыву соединения с Chromecast, поэтому мой MediaRouteActionProvider
исчезает, и мне нужно снова запустить мое приложение, чтобы снова подключиться, несмотря на то, что Chromecast фактически воспроизводил медиа, которое я просил.
Я тестировал это с двумя устройствами (Nexus 4 и Galaxy Nexus) с теми же результатами.
Я даже создал новое приложение, пытаясь просто показать изображение (вместо того, чтобы играть в кино, как с исходным образцом), и я получаю тот же самый крах.
Кто-нибудь видел это и нашел обходное решение/fix/whatever?