Проблема с временной меткой Android SensorEvent

В настоящее время я работаю над приложением для Android, где мне нужно регистрировать все значения датчика. Я получил отметку времени события датчика из «event.timestamp» и преобразовал это значение в отметку времени unix.

long currTimeRelativeToBootMs = SystemClock.uptimeMillis();
long currTimeAbsoluteMs = System.currentTimeMillis();

mStartTimeAbsoluteS = ((double)(currTimeAbsoluteMs - currTimeRelativeToBootMs))/(double)1000.0;
...
//timestampRelativeInNs = event.timestamp
double temp = mStartTimeAbsoluteS+((double)timestampRelativeInNs)/1000000000.0;

Мое приложение отлично работает на моем телефоне HTC (Android 2.x.x), но не работает на новом Google Nexus7.

Я сравнил значения «event.timestamp» с разных устройств. Я запускал устройства примерно в одно и то же время, но получил несколько разные значения. Тот что от Nexus7 длиннее на 4 цифры.....

SensorEvent-Временная метка (HTC): 175120992123000

SensorEvent-Timestamp (Nex): 1355418999245703000

В чем может быть причина такой проблемы??? Как я могу это исправить???


person edererm    schedule 02.01.2013    source источник
comment
попробуйте снова перезапустить Nexus и проверьте временные метки   -  person nayab    schedule 10.01.2013
comment
Я понял! отметка времени формы nexus 7 уже является отметкой времени unix (в наносекундах), тогда как отметка времени датчика htc - это время в наносекундах с момента запуска системы ... может быть, это зависит от новой версии Android 4.2 ?!?   -  person edererm    schedule 14.01.2013
comment
Хорошо, event.timestamp должен иметь одинаковое значение во всех системах Android.   -  person nayab    schedule 14.01.2013