首页 > 解决方案 > 是否可以在达到某个值(0:00)后停止通知计时器?

问题描述

我正在NotificationCompat.Builder使用.setUsesChronometer(true).setWhen(Instant.now().toEpochMilli() + timeDifference.toMillis());.

-timestampsetWhen()在未来,所以 Chronometer 值-在时间之前得到一个,它倒计时。

当它到达时间戳时,它会继续变化,并且该值现在是正数(向上计数)。

是否可以在 0:00 停用 Chronometer 或在开始计数之前将其停止?

我找到setChronometerCountDown(true)了,但它是 API24+(我需要 19),Android Studio 说它无法解决这个方法,我认为它只是在倒计时时删除了减号,所以这对我没有帮助。

如果答案是否定的,是否有替代方案?

我猜每秒更新一次通知会影响电池消耗吗?

RemoteViews在我的通知中使用,所以 Chronometer ofRemoteViews可能是一种替代方案,但我也找不到阻止它的方法。

标签: androidandroid-notificationschronometer

解决方案


我使用了一个处理程序来停止计时器。

mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
  @Override
  public void run() {
    mCollapsedView.setUsesChronometer(false);
    mNotificationManagerCompat.notify(1, mNotificationBuilder.build());
  }
}, timeDifference.toMillis());

为我的解决方案获得一些反馈仍然会有所帮助。我对Android没有太多经验。


推荐阅读