gpt4 book ai didi

android - 如何在 android 中获得精确到 5 微秒的后续时间戳

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:01 28 4
gpt4 key购买 nike

下面是我使用的示例代码:

 private final SensorManager mSensorManager;
private final Sensor mAccelerometer;
private long prevTime=0;

public SensorActivity() {
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);
}

要求 OnSensorChanged(SensorEvent 事件)函数中的后续系统时间戳值的差异传感器启动。

 public void onSensorChanged(SensorEvent event) {
long systemTimeStamp= SystemClock.elapsedRealtimeNanos();
long timeDifference = (systemTimeStamp - prevTime) / 1000000; //msec
Log.e("PROBLEM",timeDifference);
prevTime=systemTimeStamp;
}

以上差异在 SENSOR_DELAY_FASTEST 时多次变为 0//为什么??

后续时间戳的差异报告为 0,但根据定义它应该以纳秒为单位报告时间,因此在 5 微秒时差异不应该为零。我怎样才能得到一个非零的差异,或者是否有任何其他方法可以获得 5 微秒精度的系统时间戳差异。

请注意,event.timestamp 报告传感器的时间戳,但我需要 OnSensorChanged(SensorEvent event) 中的系统时间戳,通过与实际系统时间戳进行比较来衡量传感器时间戳的准确性。

最佳答案

根据您可能要求的评论:

public void onSensorChanged(SensorEvent event) {
long systemTimeStamp= SystemClock.elapsedRealtimeNanos();
double timeDifference = ((double) (systemTimeStamp - prevTime)) / 1000000d; //msec
Log.e("No PROBLEM",timeDifference);
prevTime=systemTimeStamp;
}

关于android - 如何在 android 中获得精确到 5 微秒的后续时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821266/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com