I have an app with fragments and inside those fragments I have frame layout into which I add YouTubePlayerSupportFragment. But when I click full screen then this exception is th
I faced the same issue and found a way to handle it that worked for me. In the OnInitializedListener()
for the fragment, I do this:
@Override
public void onInitializationSuccess(Provider arg0,
final YouTubePlayer player, boolean arg2) {
//Tell the player you want to control the fullscreen change
player.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);
//Tell the player how to control the change
player.setOnFullscreenListener(new OnFullscreenListener(){
@Override
public void onFullscreen(boolean arg0) {
// do full screen stuff here, or don't. I started a YouTubeStandalonePlayer
// to go to full screen
}});
}});
And I still got an error since I used the YouTubeStandalonePlayer to handle my full screen, so I solved that by calling
finish();
in my OnPause()
for the activity. Just remember you won't come back to where you left off if your user hits the back button. You could also send the user to the YouTube app through an intent, this did not require the finish()
in OnPause when I tested it, but did not suit my needs as well as the standalone player.
Edit: If you want to remove the full-screen button, you can also just set the player style like this:
PlayerStyle style = PlayerStyle.MINIMAL;
player.setPlayerStyle(style);
Or you can just disable it by 1 line:
player.setShowFullscreenButton(false);
If you want to show full screen, youTubePlayer.setFullscreen(true);
If you want to hide full screen button after full screen or even in the portrait mode the youTubePlayer.setShowFullscreenButton(false);
You can also use PlayerStyle Option, provided in the newest API
YouTubePlayer.PlayerStyle.CHROMELESS
A style that shows no interactive player controls. (No controls)
YouTubePlayer.PlayerStyle.DEFAULT
The default style, showing all interactive controls. (All controls)
YouTubePlayer.PlayerStyle.MINIMAL
A minimal style, showing only a time bar and play/pause controls. (can pause/play Only)