Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 频繁的方向改变问题_Java_Exoplayer - Fatal编程技术网

Java 频繁的方向改变问题

Java 频繁的方向改变问题,java,exoplayer,Java,Exoplayer,如果我用手机分别与x、y、z(90,0,90)成角度手动全屏播放视频播放器,手机的方向传感器会将其感知为纵向,并立即返回纵向模式。有人能指导我wt可以解决此问题 @Override public void onFullScreen(Boolean isFromButtonClick) { if(activity.getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAI

如果我用手机分别与x、y、z(90,0,90)成角度手动全屏播放视频播放器,手机的方向传感器会将其感知为纵向,并立即返回纵向模式。有人能指导我wt可以解决此问题

@Override
public void onFullScreen(Boolean isFromButtonClick) {

    if(activity.getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
        isFullScreen = true;
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        mediaController.updateFullScreen();
        loadRecommendations();

    }
    else{
        isFullScreen = false;
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        mediaController.updateFullScreen();
    }

    if (Settings.System.getInt(activity.getContentResolver(),
            Settings.System.ACCELEROMETER_ROTATION, 0) == 1) {
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
            }
        }, 4000);
    }


}

以上代码用于全屏显示

您可能希望查看“否”,这不是我的查询。当我手动将方向更改为横向时,它将进入横向模式并立即进入纵向模式。如何在手动全屏时禁用方向当调用
onFullScreen(…)
方法时?您可以关闭应用程序的自动旋转,并仅通过代码进行处理,但这可能很难做到。设置
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u NOSENSOR)
并查看发生了什么。当我手动按下全屏按钮时,会调用onfullscreen(…)。屏幕传感器的作用是什么?因为我试过了,所以什么也没发生。。可能是我在错误的地方。。。。你能告诉我这面旗帜的流向吗。。。。