2011-10-03 78 views
1

我需要確定正在運行我的應用程序的手機的實際方向,我找不到任何方法來執行此操作。我找到了「getRequestedOrientation」函數,但它僅檢索由「setRequestedOrientation」函數設置的方向。獲取手機的實際方向

在我的應用程序中,我讓手機根據其物理方向選擇方向。而且我有一些自定義取決於結果。

我該怎麼辦?

在此先感謝您花費時間來幫助我。

+0

相似的問題:http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone –

回答

0

它真的要得到當前的定位。

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 
int orientation = display.getOrientation(); 
+0

更簡單但是... getResources()。getConfiguration()。orientation –

+0

這個答案讓我在路上但「getSystemService」返回一個空的句柄。我已經使用「getWindowManager」來代替它並且它可以工作。 – Zelig

0

thisthis,this計算器問題。他們都解決了如何獲得Android手機定位,第二個包含了Android指南針和定位系統如何工作的詳細解釋。

1

根據這兩個問題:

你可以使用:

Activity.getResources().getConfiguration().orientation

據對第二個問題,H評論但是,此值僅返回風景 或肖像。如果您還需要反向定位,我會建議查詢加速度計 值以檢測差異。不過,我並不熟悉Android和加速度計,足以說明如何完全做到這一點。