0

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

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

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

有没有第三种方法可以实现我想要的?如果需要,我可以分享代码。

4

3 回答 3

0
 if(c.orientation == Configuration.ORIENTATION_PORTRAIT ) 

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

于 2012-09-19T13:48:54.933 回答
0

我最终通过处理来自 OrientationEventListener 的事件来解决这个问题。它为了舒适而开火太多次,但它达到了目的。

于 2013-01-21T12:20:44.523 回答
0

如果客户坚持在旧的 android 上进行测试:

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

wakawakawaka

于 2013-10-26T08:18:28.823 回答