我正在使用 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 的意图,我的活动不会被破坏和重新创建,为什么当我启动 YouTubeStandalonePlayer 意图时它会被破坏和重新创建?