Android:setRequestedOrientation后自动旋转不起作用

时间:2017-02-17 12:24:43

标签: android orientation screen-orientation autorotate screen-rotation

我有一个视频播放器,我有两个功能:

  1. 如果禁用了自动旋转功能,并且当用户点击全屏按钮时,我会强制orientation使用landscape进入setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)视图并返回纵向视图退出全屏。

  2. 我已覆盖onConfigurationChanged以检测用户启用自动旋转功能时的方向更改,并根据方向更改活动视图。

  3. 现在,此设置的问题在于,如果用户启动活动并进入全屏状态并且setRequestedOrientation被调用一次,稍后启用auto-rotate时,活动就不会收到方向更改, <{1}}没有被调用。

    我在这里(https://stackoverflow.com/a/6109206/5167868)读到他们不会同时工作。

    我想知道是否有一种方法可以实现这两种方式,因为我看到像onConfigurationChanged这样的玩家在他们的应用中执行此操作。

1 个答案:

答案 0 :(得分:2)

使用setRequestedOrientation()修正屏幕方向后,自动旋转功能无法正常工作。所以要做到这一点,你可以这样做:

使用以下方式设置方向后:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)

请致电: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)

这将使自动旋转再次起作用!