2012-09-19 104 views
0

在我的应用程序中,我需要在Android设备的方向更改时通知。我发现两种方法做到这一点:Android:检测设备方向更改

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

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

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

+0

具有u看到[这](http://stackoverflow.com/a/8450316/1289716) – MAC

+0

再次 - 我如果我将设备从90度旋转至270度,将无法获得任何配置更改事件。 – Bonton255

+0

亲爱的它的设备在建成的功能,所以我永远不能管理this.in FunBook设备给我们的方向。 –

回答

0

我终于通过处理从OrientationEventListener事件解决了这个问题。它为了舒适而燃烧了太多时间,但它符合目的。

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

使用这种配置类,并获得运行时设备的方向

+0

正如我已经提到,我没有得到配置改变事件,当我从90度移动到270度。你的解决方案如何解决这个问题? – Bonton255

+0

只要提到它这个代码工作在改变正确的方向,然后检测效果好.. –

0

如果客户机上的旧的Android测试坚称:

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

wakawakawaka