我正在使用当前sdk(v.1.0.0)中的YouTubePlayerSupportFragment来整合YouTube视频。通常视频播放效果很好,但在某些设备上,YouTube在播放实时视频时崩溃(仅限实时视频)。我的应用程序没有崩溃或ANR,但没有任何反应,我得到一个小弹出报告YouTube崩溃。 我在YouTube播放器中添加了一些听众,它发生在onLoad()之后。 如果我没有提示或加载视频,则没有任何反应。
这是LogCat输出:
09-19 19:44:25.949 10217-10217/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: In application's main thread
at m.b(PG:146)
at dxk.a(PG:77)
at dxn.a(PG:45)
at dnf.a(PG:48)
at dnh.a(PG:233)
at dfm.onResponse(PG:71)
at dnt.a(PG:48)
at lo.run(PG:99)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5299)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
测试:华硕MeMOPad HD ME173X
感谢任何帮助。
P.S。 我发现了这个bug报告: https://code.google.com/p/gdata-issues/issues/detail?id=6644
答案 0 :(得分:1)
问题与官方Youtube应用版本5.10.1.5(版本代码51001051)有关。更新5.10.3.5修复了此问题。 我使用此代码段检查是否需要更新,并在必要时获取本地化提示:
private static final int REQ_CODE_UPDATE_YOUTUBE = 1;
...
if (YouTubeIntents.getInstalledYouTubeVersionCode(getActivity()) == 51001051) {
// this specific youtube version crashed when cueing live videos
// versions above and below should be fine
YouTubeInitializationResult.SERVICE_VERSION_UPDATE_REQUIRED.getErrorDialog(getActivity(),
REQ_CODE_UPDATE_YOUTUBE).show();
}