当扫描蓝牙低能量数据包时,我接收到设置了scanResult的scanCallback。我可以用result.getTimeStampNanos()得到“观察到扫描结果时的设备时间戳”,但这次不与systems.nanoTime()对齐。有办法从一个转变到另一个吗?
最佳答案
使用以下代码通过使用systemclock.elapsedrealtime()将getTimeStampNanos()转换为系统毫秒:
long rxTimestampMillis = System.currentTimeMillis() -
SystemClock.elapsedRealtime() +
scanResult.getTimestampNanos() / 1000000;
可以很容易地将其转换为日期对象:
Date rxDate = new Date(rxTimestampMillis);
然后将时间作为字符串:
String sDate = new SimpleDateFormat("HH:mm:ss.SSS").format(rxDate);
关于android - Android BLE:将ScanResult timestampNanos转换为System nanoTime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32338115/