如何从 Activity 停止服务中的倒数计时器

How to stop a Countdowntimer in a service from an Activity

我在服务中有一个 Countdown timer,如果不停止它会触发一系列事件。 我开始一个 Activity,其中的文本字段显示剩余倒计时,如果此对话框不是 dismissed/closed,则计时器将执行其 onFinish() 指令。

我可以在倒计时器的 onTick() 方法中使用广播更新 Activity

我的问题是,如果用户清除 warning/alert 对话框,我如何将消息发送回服务 cancel() 计时器。

附带问题:onTick() 方法 定期触发回调 他们认为 定期间隔 什么我不知道不想每毫秒向 activity 发送更新广播。那岂不是过度传播了?当我只需要每秒更新倒计时时。

我不知道这是否是最佳解决方案,这取决于您执行此操作的频率,但您可以使用共享首选项 - 将其写入您的应用程序并在服务中进行检查。 关于附带问题 - 您在实例化计时器时设置间隔,因为这是构造函数 CountDownTimer(long millisInFuture, long countDownInterval)