我正在尋找適用於Android的指南針示例。我需要做的就是獲得正確的方位(縱向&橫向模式)。Android指南針示例
我已經找到幾個樣品,有些只使用Sensor.TYPE_ORIENTATION
,有些使用的組合爲Sensor.TYPE_ACCELEROMETER
& Sensor.TYPE_MAGNETIC_FIELD
。
這是獲得我們說的Android 1.6軸承正確&常用的方法 - 4.0嗎?
我正在尋找適用於Android的指南針示例。我需要做的就是獲得正確的方位(縱向&橫向模式)。Android指南針示例
我已經找到幾個樣品,有些只使用Sensor.TYPE_ORIENTATION
,有些使用的組合爲Sensor.TYPE_ACCELEROMETER
& Sensor.TYPE_MAGNETIC_FIELD
。
這是獲得我們說的Android 1.6軸承正確&常用的方法 - 4.0嗎?
Sensor.TYPE_ORIENTATION
已被棄用。
文檔說,你應該使用SensorManager.getOrientation()
代替。
所以,你應該從Sensor.TYPE_ACCELEROMETER
以及來自Sensor.TYPE_MAGNETIC_FIELD
讀,然後調用SensorManager.getRotationMatrix()
最後SensorManager.getOrientation()
將返回你的電話的朝向。
從那裏,如果你看到這個圖是微不足道拿到手機的方向。這可能是你的第二個例子,但我不知道,因爲你沒有告訴我它是什麼。
使用Sensor.TYPE_ACCELEROMETER
和Sensor.TYPE_MAGNETIC_FIELD
和SensorManager.getOrientation()
方法的組合不會給出精確的值。已棄用的方法Sensor.TYPE_ORIENTATION
運行良好。 :)
感謝Dan他的示例代碼。
但只是一個小修正:根據本discussion變化event.values
到event.values.clone()
。
經過此修改後,它適用於我。
對不起,我忘了附上的例子:http://www.codingforandroid.com/2011/01/using-orientation-sensors-simple.html所以這是一個正確的方法是什麼? – nr1 2012-01-04 21:31:54
是的,那個鏈接中的東西看起來是正確的 – Dan 2012-01-04 21:39:47
顯然你如何使用數據取決於你,'onSensorChanged'是有趣的數學。 – Dan 2012-01-04 21:40:30