我有一个启用了天文台的通知版本。我也有通知行动,显然暂停和恢复我的任务以及计时器。但是我无法从较早的时间开始制作天文台表。我的时间计算如下。
private void pauseTask(){
updateNotification(createNotification(action).setUsesChronometer(false).build(), Config.NOTIFICATION_ID);
elapsedTime = System.currentTimeMillis() + (System.currentTimeMillis() - startTime);
//perform pause operation here
}
private void resumeTask(){
startTime = System.currentTimeMillis();
long time = System.currentTimeMillis() - (startTime - elapsedTime);
updateNotification(createNotification(action)
.setWhen(time)
.build(), Config.NOTIFICATION_ID);
//Perform pause task
}
startTime
中的pauseTask
是新动作开始时获得的时间
答案 0 :(得分:0)
我遇到了同样的问题,我能想到的唯一解决方案是创建一个新的构建器实例来重置setUsesChronometer
mBuilder = new NotificationCompat.Builder(this);