В настоящее время я работаю над приложением для 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
В чем может быть причина такой проблемы??? Как я могу это исправить???