我正在使用YouTubePlayerSupportFragment在我的应用中嵌入YouTube视频。嵌入式设备运行良好,视频播放,一切都很棒。
当我点击我的嵌入式YouTube视频片段的全屏按钮时,会发生第一件奇怪的事情:它实例化现有封闭活动的新副本......我不明白为什么。
我有一个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。如果我发布打开网址的意图,我的活动不会被破坏和重新创建,为什么在我启动YouTubeStandalonePlayer意图时它会被破坏并重新创建?
答案 0 :(得分:2)
添加到包含YouTubePlayerSupportFragment此属性的活动
android:configChanges="screenSize|orientation|keyboardHidden"
答案 1 :(得分:0)
也许这会有所帮助,我很努力地找到解决你的具体问题而没有任何运气。如果您没有发布更多代码来查看您的应用中是否设置了YouTube播放器,那就太难了。