2012-09-19 392 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