2013-03-27 143 views

回答

1

我會看看如何讀取加速度計或陀螺儀,做到這一點。我不確定這是否有效,但這就是我開始的方式。這裏有一個關於如何使用加速度計數據的鏈接。

http://www.techrepublic.com/blog/app-builder/a-quick-tutorial-on-coding-androids-accelerometer/472

+0

我考慮讀取直接從傳感器的角度,但它似乎是太多不穩定,因此將被保持,即使當手機被放置在平坦表面上,然後我將不得不開始進行計算,並添加一些閾值變更/滯後,我不想這樣做... – SagiLow 2013-03-27 20:15:26

+0

這對你有幫助嗎? http://stackoverflow.com/questions/8248274/android-detect-orientation-changed – ArchiFloyd 2013-03-27 20:22:33

+0

嗯......它可能會做的工作,但我更怕的內存中運行代碼的時候有這個程序會消耗(因爲傳感器一直在變化,所以它會被稱爲非停止狀態),它可能太多了,但我想這是一個選項 – SagiLow 2013-03-27 20:34:29

0

我使用此代碼自己在我的應用程序:

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)) 
      .getDefaultDisplay(); 
    int rotation = display.getRotation(); 

rotation值可以如下:景觀1或3和0或2肖像。

我不是100%肯定,如果,如果汽車不能轉動,雖然這會工作,但你可以給它一個嘗試。

+0

謝謝,但我不明白它將如何幫助我傾聽方向變化... – SagiLow 2013-03-27 20:28:24

+0

好的,這個比我想象的麻煩......我用它在'onCreate'方法,但因爲你禁用自動定位,它不會被當屏幕旋轉時調用... – 2013-03-27 20:35:32