根据API文档以及之前的SOthreads,SystemClock.elapsedRealtime()应该即使在设备处于sleep状态时也能保持准确的时间。这不是我观察到的。我编写了一个简单的时钟,它位于while(true)循环中,并根据SystemClock.elapsedRealtime()的值更新屏幕上的时间。如果我同步两个设备上的时钟,例如通过NTP,然后继续在其中一台设备上打开和关闭屏幕几次,显示的时间将漂移最多+/-0.7秒。(这只会在手机未连接到外部电源时发生,因此sleep模式可能是这里的罪魁祸首)。这正常吗?这是Android中的错误吗?有什么方法可以在整个slee
我正在尝试使用Chronometer在我的Android应用程序中创建一个恢复按钮。到目前为止,我有resume方法的代码fragment:privatelongpauseResume(){longtimeWhenStopped=chronometer.getBase()-SystemClock.elapsedRealtime();returntimeWhenStopped;}这是恢复按钮的代码:publicvoidonClick(Viewv){switch(v.getId()){...caseR.id.resume_button:chronometer.setBase(SystemC
我注意到System.currentTimeMillis()时间取决于设备。如果我更改设备时钟上的时间,此方法将返回不同的答案。例如:如果现在的实际时间是10:00,而我将设备上的时钟更改为9:30,则System.currentTimeMillis()将返回9:30时间(以毫秒为单位..)。我也试过thisanswer和其他一些答案,但没有发现任何有用的东西。我应该声明我的应用程序主要离线工作。有没有办法在没有外部API的情况下获取实时时间(独立于设备)? 最佳答案 如果不是因为“离线”部分,我建议使用时间服务器,但考虑到您的应用