Android 以编程方式退出YouTube API V3上的YouTube播放器全屏

Android 以编程方式退出YouTube API V3上的YouTube播放器全屏,android,youtube,android-youtube-api,android-fullscreen,Android,Youtube,Android Youtube Api,Android Fullscreen,这个问题基本上可以解释 我试过player.setFullscreen(false) 它只调用OnFullscreenListener中的OnFullscreen方法 我认为他们没有实现一种方法让你在没有用户交互的情况下关闭它,否则这是显而易见的。(只是确定一下) 如果你想知道我为什么需要它,那是因为我想在用户按下后退按钮时退出全屏播放器。另一个问题是我禁用了横向视图,所以当您返回到纵向视图时,它不会自动切换到正常视图 也许我可以通过编程使它看起来像我切换到风景,但实际上我没有,只是为了愚弄玩

这个问题基本上可以解释

我试过player.setFullscreen(false)

它只调用OnFullscreenListener中的OnFullscreen方法

我认为他们没有实现一种方法让你在没有用户交互的情况下关闭它,否则这是显而易见的。(只是确定一下)

如果你想知道我为什么需要它,那是因为我想在用户按下后退按钮时退出全屏播放器。另一个问题是我禁用了横向视图,所以当您返回到纵向视图时,它不会自动切换到正常视图

也许我可以通过编程使它看起来像我切换到风景,但实际上我没有,只是为了愚弄玩家

任何解决方案或想法都值得赞赏。谢谢


以下是我活动的一些相关部分:

Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
    if (groupPosition == 2) {
        String videoId = episodeList.get(childPosition).getYoutubeId();
        if (this.currentVideoId == null) {
            currentVideoId = videoId;
            currentFragment = YoutubeVideoFragment.newInstance(videoId);
            getSupportFragmentManager().beginTransaction().replace(R.id.youtube_video_area, currentFragment).commit();
            showVideoFragment();
        }
        else if (!this.currentVideoId.equals(videoId)) {
            cleanupRetainInstanceFragment();
            currentFragment = YoutubeVideoFragment.newInstance(videoId);
            getSupportFragmentManager().beginTransaction().replace(R.id.youtube_video_area, currentFragment).commit();
        }
        else
            toggleVideoFragment();
        return true;
    }
    else
        return false;
}


public void cleanupRetainInstanceFragment() {
    getSupportFragmentManager().beginTransaction().remove(this.currentFragment).commit();
    youtubePlayer.release();
    youtubePlayer = null;
}

@Override
public void onBackPressed() {
    if (videoFullscreen) {
        youtubePlayer.pause();
        youtubePlayer.setFullscreen(false);
    }
    else
        super.onBackPressed();
}

@Override
public void onVideoFragmentAttachSuccess(YouTubePlayer youTubePlayer) {       
    //here I get the youtubePlayer instance with a listener interface set up in my fragment. It works correctly.
    this.youtubePlayer = youTubePlayer;

}

你能把你整个活动的代码贴出来吗?我想知道你在哪里使用
player.setFullscreen(false)
?我刚刚对这个问题进行了编辑。您可能感兴趣的部分是onBackPressed()覆盖。@rom4ek我刚刚检查了Youtube应用程序本身,看看他们是否有,显然没有。当按下后退按钮时,他们将完全退出活动,而不是全屏退出。@rom4ek我解决了这个问题。我检查了我所有的布尔人,发现videoFullscreen一直都是假的。这么愚蠢的错误。