到达指定时间(0:00)后是否​​可以停止通知计时器?

时间:2020-01-24 15:13:41

标签: android android-notifications chronometer

我将NotificationCompat.Builder.setUsesChronometer(true).setWhen(Instant.now().toEpochMilli() + timeDifference.toMillis());一起使用。

setWhen()时间戳是将来的时间戳,因此Chronometer值在该时间之前获得了-,并且倒计时。

到达时间戳记后,它会继续更改,并且该值现在为正(递增)。

是否可以在0:00取消计时码表或在开始计时之前停止计时?

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

如果答案是否定的,还有其他选择吗?

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

我在通知中使用了RemoteViews,因此RemoteViews的计时器可以替代,但我也找不到阻止它的方法。

1 个答案:

答案 0 :(得分:0)

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

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

对于我的解决方案获得一些反馈仍然很有帮助。我没有太多使用Android的经验。