YouTubePlayerSupportFragment を使用して、YouTube 動画をアプリに埋め込みます。埋め込むと、非常にうまく機能し、ビデオが再生され、すべてが素晴らしい.
フルスクリーン ボタンをタップすると、埋め込まれた YouTube ビデオ フラグメントが表示されます。最初に奇妙なことが起こります。それは、既存のエンクロージング アクティビティの新しいコピーをインスタンス化します...そして、その理由がわかりません。
ViewPager にいくつかのフラグメントを表示する 1 つのアクティビティ、RootActivity があります。現在扱っているフラグメントは、EasyModePurchaseFragment と呼ばれます。その EMPF には、YouTubePlayerSupportFragment がそのレイアウト xml に埋め込まれています。
<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 も破壊して再作成します。ウェブ URL を開くインテントを起動しても、アクティビティが破棄されて再作成されません。YouTubeStandalonePlayer インテントを起動すると、アクティビティが破棄されて再作成されるのはなぜですか?