【问题标题】:YouTubePlayerSupportFragment starts duplicate ActivityYouTubePlayerSupportFragment 启动重复 Activity
【发布时间】:2013-03-30 02:32:05
【问题描述】:

我正在使用 YouTubePlayerSupportFragment 在我的应用中嵌入 YouTube 视频。嵌入时效果很好,视频播放,一切都很棒。

当我点击嵌入的 YouTube 视频片段的全屏按钮时,第一个奇怪的事情发生了:它实例化了现有封闭 Activity 的新副本......我不知道为什么。

我有一个 Activity,RootActivity,它在 ViewPager 中显示几个片段。我目前正在处理的片段称为 EasyModePurchaseFragment。 EMPF 在其布局 xml 中嵌入了 YouTubePlayerSupportFragment:

<fragment
    android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
    android:id="@+id/youtube_fragment"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
/>

当我点击 YouTubePlayerSupportFragment 上的全屏按钮时,会实例化一个全新的 RootActivity。这是为什么?

它给我带来了一些问题,因为它没有以正确的方式完全创建,这意味着它会导致崩溃......而且它不好。

编辑:

我也尝试拦截 onFullScreen() 事件,而不是调整视图大小,我只是尝试使用他们提供的意图启动一个独立的 YouTube 播放器:

Intent intent = YouTubeStandalonePlayer.createVideoIntent(getActivity(), myDeveloperKey, videoId);
getActivity().startActivity(intent);

奇怪的是,这也会破坏并重新创建我的 RootActivity。如果我启动打开 Web URL 的意图,我的 Activity 不会被销毁和重新创建,为什么当我启动 YouTubeStandalonePlayer Intent 时它会被销毁和重新创建?

【问题讨论】:

  • 你的问题解决了吗?我遇到了同样的问题,如果你解决了,你能回答这个问题吗?谢谢

标签: android youtube youtube-api android-fragmentactivity


【解决方案1】:

添加到包含 YouTubePlayerSupportFragment 这个属性的 Activity

android:configChanges="screenSize|orientation|keyboardHidden"

【讨论】:

    【解决方案2】:

    也许这会有所帮助,我非常努力地为您的特定问题找到了解决方案,但没有任何运气。如果不发布更多代码,很难准确地看到您的应用程序中设置的 YouTube 播放器。

    https://github.com/youtube/yt-android-player/blob/master/src/com/examples/youtubeapidemo/FullscreenDemoActivity.java

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 2016-01-10
      • 1970-01-01
      • 2014-10-17
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      相关资源
      最近更新 更多