Android:检测设备方向更改

时间:2012-09-19 11:50:26

标签: android android-orientation

在我的应用程序中,我需要在Android设备的方向发生变化时得到通知。我找到了两种方法:

  1. 收听onConfigurationChanged - 使用这种方法,当手机从纵向变为横向时,我得到事件,反之亦然,但是当设备从90度变为270度时,我没有得到事件 - 因为在两种情况下,方向仍然是风景。

  2. 收听onOrientationChanged(OrientationEventListener) - 此事件被多次触发。我只需要知道设备何时在0度,90度,180度和270度之间变化。我尝试使用各种值“rate”。

  3. 有没有第三种方法可以实现我的目标?如果需要,我可以共享代码。

3 个答案:

答案 0 :(得分:0)

 if(c.orientation == Configuration.ORIENTATION_PORTRAIT ) 

使用此配置类并获取运行时设备方向

答案 1 :(得分:0)

我终于通过处理OrientationEventListener中的事件来解决这个问题。为了舒适,它会发射太多次,但它有助于达到目的。

答案 2 :(得分:0)

如果客户端坚持测试旧的android:

<script>
    window.addEventListener("orientationchange", function() {
        location.reload();
    }, false);
</script>

wakawakawaka