2013-08-06 78 views
1

在我們撥打setRequestedOrientation後,Android有什麼方法可以知道設備方向更改,我嘗試了以下方法。在調用`setRequestedOrientation`後找到設備方向更改的方法

  1. getResources().getConfiguration().orientation
  2. OrientationEventListener
  3. Display getOrient = getWindowManager().getDefaultDisplay().getRotation();

但是,所有上述方法甚至改變了設備的方向後,給予相同的值。
有人可以請我們建議一些方式,我們可以找到設備方向的變化後,我們呼籲setRequestedOrientation

+0

您是否找到解決方案?有同樣的問題。謝謝 – CicPot

+0

我有同樣的問題。 –

回答

3

可能是一個解決辦法:拉手onOrientationChanged度從OrientationEventListener加入currente上下文。例如:

final OrientationEventListener orientationEventListener = new OrientationEventListener(getApplicationContext()) { 

    @Override 
    public void onOrientationChanged(final int orientation) { 
     Log.i("orientation_test", "orientation: " + orientation); 
    } 
}; 

orientationEventListener.enable(); 

例如,在onResume中添加並啓用onResume並禁用它。

0

這應該工作:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
    // Do something 
else 
    // Do something else 
+0

正如我在我的問題中提到的,「getConfiguration()。orientation」方法在我們改變方向時不會返回正確的方向值。 – User7723337