2016-03-04 80 views
0

我測試Android上的TYPE_LINEAR_ACCELERATION傳感器 - 我設置它在標準的方式,我認爲:爲什麼TYPE_LINEAR_ACCELERATION產生非零值時,設備是靜止的?

acceleration = sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION); 
... 
sensorManager.registerListener(this, acceleration, kMotionUpdatePeriod); 
... 
public void onSensorChanged(SensorEvent event) 
{ 
    switch(event.sensor.getType()) 
    { 
     case Sensor.TYPE_LINEAR_ACCELERATION: 
      Logger.info(this,"Linear Accel %.2f %.2f %.2f",event.values[0], event.values[1], event.values[2]); 
      break; 
    } 
} 

我的理解是,LINEAR_ACCELERATION,就是要利用傳感器融合,從加速度計重力刪除讀數併產生設備正在經歷的淨加速度。

我上的Android Wear手錶(索尼SWR50)5.1.1運行和測試這個當設備在桌子上休息,我得到這些類型的值:

03-04 09:58:58.309 Linear Accel -0.20 0.74 0.14 
03-04 09:58:58.328 Linear Accel -0.20 0.70 0.14 
03-04 09:58:58.341 Linear Accel -0.23 0.71 0.13 

在銀河還測試S3搭載4.3和我:

03-04 09:48:22.307 Linear Accel -0.13 -0.11 -0.39 
03-04 09:48:22.412 Linear Accel -0.11 -0.09 -0.34 
03-04 09:48:22.507 Linear Accel -0.09 -0.11 -0.42 

我期望有點對這些錯誤的 - 但這些價值觀似乎這樣高時,該設備只是坐在桌子上。手錶的總加速度約爲0.7 m/s2,銀河系統的總加速度約爲0.4 m/s2。

我也在發展這種在iOS和userAcceleration數字,我從iOS設備獲得當他們是固定在0.01米/秒2這是什麼,我認爲你所期望的。

有什麼我想使用LINEAR_ACCELERATION時失蹤?

是別人得到的數字更像是我從iOS版上得到他們的Android設備?

回答

1

確定這樣愚蠢的錯誤。

iOS的是使用單位g其加速度值,Android是使用米/秒2,9.81差的,因此一個因素。

相關問題