我制作了一个显示服务器当前时间的 appWidget(例如 2012-08-29, 12:00:08)。我在每个修复持续时间(例如 1 小时)请求服务器时间。如果收到服务器时间,则更新 appWidget 显示。在此期间,我启动一个处理程序来更新时间,如下所示:
mTick = new Runnable() {
public void run() {
mMillis += 1000;
long now = SystemClock.uptimeMillis();
long next = now + (1000 - now % 1000);
mHandler.postAtTime(mTicker, next);
}
}
mTicker.run();
我的问题: 1 过了很长一段时间(一天过去了),AppWidget 中显示的时间比实际服务器时间慢。我怀疑我上面使用的方法不够准确,无法更新时间。关于这个问题有什么建议吗?