Avi*_*bat 6 time android system-clock
我注意到System.currentTimeMillis()时间取决于设备.如果我更改设备时钟的时间,此方法将返回不同的答案.
例如:如果现在的实时时间是10:00,并且我将设备上的时钟更改为9:30,那么System.currentTimeMillis()将返回9:30时间(以毫秒为单位).
我也试过这个答案和其他一些答案,但没有找到任何有用的东西.我应该声明我的应用程序主要是脱机工作.有没有办法在没有外部API的情况下获得真实的当前时间(独立于设备)?
如果不是"离线"部分,我建议使用时间服务器,但考虑到您的应用程序大部分时间都处于脱机状态,这可能不是一个好的解决方案.
如果您不需要实际时间但只需要一个无法消除的时间,您可以使用SystemClock.elapsedRealtime(),它可以为您提供自设备上次启动以来的时间.
您还可以组合时间服务器和SystemClock.elapsedRealtime():从计时器服务器获取一次时间(例如,在启动之后),然后再将elapsedRealtime()添加到初始值(减去获取timerserver值时的elapsedRealtime值) .
| 归档时间: |
|
| 查看次数: |
3980 次 |
| 最近记录: |