Как сравнить Android SensorEvents от разных типов сенсоров? - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь записать метки времени различных событий датчика как можно точнее. Обычно я просто использовал бы sensorEvent.timstamp, но заметил, что когда я звоню SystemClock.elapsedRealtimeNanos(), я получаю другое значение.

Например:

Log.i("Time1", String.valueOf(sensorEvent.timestamp));
// 939,704,514,316,244

Log.i("Time2", String.valueOf(SystemClock.elapsedRealtimeNanos()));
// 939,704,545,239,071

// I added commas for readability but they aren't actually printed.

Как видите, они отключены на 30922827 нс или 30,9 мс, что довольно мало, когда речь идет о событиях датчика, которые называются 200 мс.

Итак, мой вопрос: Какую временную метку я должен использовать для максимально точного сравнения с другими событиями датчика?


Кроме того, просто добавьте. Я буду записывать метку времени в следующем блоке кода.

@Override
public void onSensorChanged(SensorEvent sensorEvent) {
    int sensorType = sensorEvent.sensor.getType();
    switch (sensorType) {
        case Sensor.TYPE_GYROSCOPE:

            //sensorEvent.timestamp
            // OR
            //SystemClock.elapsedRealtimeNanos()

            break;
        case Sensor.TYPE_ACCELEROMETER:

            //sensorEvent.timestamp
            // OR
            //SystemClock.elapsedRealtimeNanos()

            break;
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...