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

Suh*_*lar 6 android orientation screen-orientation autorotate screen-rotation

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

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

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

现在这个设置的问题是,如果用户启动活动并进入全屏并且setRequestedOrientation被调用一次,稍后auto-rotate启用时,活动不会收到方向更改并且onConfigurationChanged不会被调用.

我在这里(/sf/answers/427644451/)读到他们不会同时工作.

我想知道是否有一种方法可以实现两者,因为我已经看过玩家喜欢MX Player在他们的应用程序中执行此操作.

小智 3

使用 固定屏幕方向后setRequestedOrientation(),自动旋转功能将无法使用。因此,要使其正常工作,您可以执行以下操作:

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

调用这个: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)

这将使自动旋转再次工作!