【发布时间】:2013-12-29 03:42:57
【问题描述】:
我的应用使用 Youtube Android SDK 提供 youtube 视图。 显示视频没有问题,但在打开 youtube 应用程序时它会因 DeadObjectException 崩溃。
我的代码如下所示
//init
FragmentTransaction fragmentTransaction = fm.beginTransaction();
YouTubePlayerSupportFragment fragment = new YouTubePlayerSupportFragment();
fragmentTransaction.replace(R.id.fragmentz, fragment);
fragmentTransaction.commit();
fragment.initialize(Constants.YOUTUBE_DEV_KEY, this);
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, final YouTubePlayer youTubePlayer, boolean wasRestored) {
if (!wasRestored) {
this.youTubePlayer = youTubePlayer;
this.youTubePlayer.setShowFullscreenButton(true);
try {
this.youTubePlayer.loadVideo(youtubeLink);
//other stuff
} catch (IllegalStateException e) {
Logger.e(e);
}
}
}
当 1) 直接通过意图移动到 youtube 应用程序或 2) 通过播放器视图上的 youtube 图标移动到 youtube 应用程序时,它会崩溃。
崩溃日志如下所示
java.lang.IllegalStateException: android.os.DeadObjectException
at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.u(SourceFile:506)
at com.google.android.apps.youtube.api.jar.a.a.t(SourceFile:467)
at com.google.android.youtube.player.internal.h.onTransact(SourceFile:392)
at android.os.Binder.transact(Binder.java:361)
at com.google.android.youtube.player.internal.d$a$a.r(Unknown Source)
at com.google.android.youtube.player.internal.s.h(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.e(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerSupportFragment.onSaveInstanceState(Unknown Source)
at android.support.v4.app.Fragment.performSaveInstanceState(Fragment.java:1647)
at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1610)
at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1678)
at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:546)
at com.actionbarsherlock.app.SherlockFragmentActivity.onSaveInstanceState(SherlockFragmentActivity.java:127)
Caused by: android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at com.google.android.apps.youtube.api.b.a.aq.k(SourceFile:685)
at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.u(SourceFile:503)
at com.google.android.apps.youtube.api.jar.a.a.t(SourceFile:467)
at com.google.android.youtube.player.internal.h.onTransact(SourceFile:392)
at android.os.Binder.transact(Binder.java:361)
at com.google.android.youtube.player.internal.d$a$a.r(Unknown Source)
at com.google.android.youtube.player.internal.s.h(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.e(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerSupportFragment.onSaveInstanceState(Unknown Source)
at android.support.v4.app.Fragment.performSaveInstanceState(Fragment.java:1647)
请帮我解决这个问题。
我已经在 nexus 5、android 4.4、youtube api 1.0、youtube app 5.3.24 上进行了测试
【问题讨论】:
-
在我的 Nexus 4 Android 4.4 中也发生了同样的事情
-
你有没有解决你的问题,因为我也面临同样的问题。任何帮助都会得到承认。
-
@PDWaghela 不幸的是,我没有找到解决这个问题的好方法:(
-
好吧,我想我找到了原因,如果 youtubelink 为空,就会发生这种情况。因此它说 DeadObjectException。
标签: android youtube-api android-youtube-api