title: SensorEvent.timestamp inconsistency
body: <p>my application performs in background step counting using the <a href="http://developer.android.com/reference/android/hardware/Sensor.html#STRING_TYPE_STEP_DETECTOR">step detector sensor API's</a> introduced in android 4.4.X.</p>
  
  <p>It's essential to my app to know the exact time (at least accuracy of a second)  each step event has accrued.   </p>
  
  <p>because I perform <a href="https://source.android.com/devices/sensors/batching.html">sensor batching</a> , the time <code>onSensorChanged(SensorEvent event)</code> been called is not the same time when the step event took place - I must use the <code>event.timestamp</code>field to get the event time.</p>
  
  <p>the documentation about this field is:</p>
  
  <blockquote>
    <p>The time in nanosecond at which the event happened</p>
  </blockquote>
  
  <p><strong>The problem:</strong></p>
  
  <p>In some devices (such Moto X 2013) seems like this timestamp is time in nano seconds since boot, while in some devices (such Nexus 5) it's actually returns universal system time in nano seconds same as <code>System.currentTimeMills() / 1000</code>.</p>
  
  <p>I understand, there's already an <a href="https://code.google.com/p/android/issues/detail?id=56561"> old open issue</a> about that, but since sensor batching is introduced - <strong>it becomes important to use this field</strong> to know the event time, and it's not possible to rely anymore on the <code>System.currentTimeMills()</code></p>
  
  <p><strong>My question:</strong></p>
  
  <p>What should I do to get always the event time in system milliseconds across all devices?</p>