2016-03-16 40 views
0

我需要獲得該設備的定位設備(間距要具體), 我使用的涉及實施SensorEventListener加速度計的方法和磁力獲得間距從不具有磁力

問題是一些設備沒有磁力計(我偶然發現了三星J7和J5,但假設還有更多),我測試過的所有其他設備都像魅力一樣工作。現在我知道這些設備沒有磁力計,所以我嘗試註冊棄用的「TYPE_ORIENTATION」事件和「TYPE_ROTATION_VECTOR」事件,但沒有任何工作。

我在這些設備上得到的是來自加速計的事件。

我知道這是可能的,因爲我已經下載了這些手機氣泡水平儀的應用程序和他們的工作(指南針dosent) 感謝

編輯: 我需要通過傾斜手機來滾動的看法,所以我需要校準一旦知道音調是大還是小,則初始校準

+0

您可以使用陀螺儀來獲取音高的變化。它將無法給出絕對的,但它可以給你的親戚。 –

+0

你能不能請求?給出代碼示例?我找不到任何 –

回答

1

您需要低通濾波器加速度計來獲取重力矢量。

float[] gravity = low pass filter accelerometer 

計算重力規範

float gravityNorm = calculate the norm of gravity. 

然後間距將

(float) Math.asin(-gravity[1]/gravityNorm)) 

對於公式在https://github.com/hoananguyen/dsensor上述讀班上DSensor TYPE_PITCH的文件在我的項目DSensor

+0

謝謝!我會測試並回復你 –