如何在不实际更改屏幕尺寸的情况下收听方向更改事件?

时间:2017-08-28 01:14:36

标签: android

我的应用程序完全是为纵向模式编写的。

但我有一个活动,我正在播放视频。

我想检测用户是否已将设备置于横向位置,因此我只需在视频播放器中调用API调用即可将视频播放设置为全屏。

我目前所做的是添加

    android:screenOrientation="fullSensor"
    android:configChanges="orientation|screenSize"

在android清单中,然后重写此方法以获取代码中的事件回调。

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

但是,当我这样做时,我注意到我的屏幕实际上改变了方向。

有没有办法保持纵向模式,只接收来自android的回调?

1 个答案:

答案 0 :(得分:0)

您可以改为听取加速计传感器并检测手机何时处于横向状态。这样,您可以决定在任何情况下显示屏幕的方向。

要了解如何获取加速度计数据,请参阅Android documentation