小编kap*_*lgm的帖子

如何让android中的后续时间戳精确到5微秒

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

 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);
 }
Run Code Online (Sandbox Code Playgroud)

需要后续系统时间戳值的差OnSensorChanged(SensorEvent函数事件)的传感器开始之后.

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

上面的差异在SENSOR_DELAY_FASTEST上多次变为0 //为什么?

后续时间戳的差异报告为0,但根据定义,它应以纳秒为单位报告时间,因此在5微秒时差异不应为零.如何获得非零差异,或者是否有其他方法可以以5微秒的精度获得系统时间戳差异.

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

android timestamp delay android-sensors sensormanager

6
推荐指数
1
解决办法
184
查看次数

android中的back press和home按钮之间的区别

我正在我的应用程序中启动服务.点击服务我正在启动一项活动.当我们转到任何应用程序并按下后退按钮并退出应用程序时,服务点击事件正常工作.

但是,如果我们在任何应用程序中然后按主页按钮并单击该服务,则不会启动该活动.如果我再单击它2次,它会打开活动,有时它也会打开应用程序.

所以我无法理解按下后退按钮和主页按钮之间的区别.

android android-service

4
推荐指数
1
解决办法
5192
查看次数