0
我正在製作一個應用程序,使用兩個傳感器。如何在傳感器上使用onAccuracyChanged功能
TYPE_MAGNETIC_FIELD
TYPE_GRAVITY
我初始化各自的傳感器,然後在onSensorChanged
功能,我獲取數據,做在同一個計算。
我有一個簡單的問題,我如何使用onAccuracyChanged
函數來過濾數據?我想要中等和高精度的數據!
我打印基本的聲明,看看在調試應用程序時獲得什麼樣的準確性。
代碼:
`@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// Do something here if sensor accuracy changes.
// You must implement this callback in your code.
// I initialized mValuen as mValuen = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
if (sensor == mValuen) {
switch (accuracy) {
case 0:
System.out.println("Unreliable");
break;
case 1:
System.out.println("Low Accuracy");
break;
case 2:
System.out.println("Medium Accuracy");
break;
case 3:
System.out.println("High Accuracy");
break;
}
}
}`
按我的理解,當一個傳感器報告一個新值onSensorChanged
函數被調用。所以我不能明確地調用這個函數(即使我可以,只要傳感器報告一個新的值就會被調用)。
我所有的計算都在這個函數中。如何過濾中等和高精度的數據。謝謝。