Android 如何从活动中停止服务中的倒计时

Android 如何从活动中停止服务中的倒计时,android,android-activity,service,countdowntimer,Android,Android Activity,Service,Countdowntimer,我的服务中有一个倒计时计时器,如果不停止,它将触发一系列事件。 我启动一个活动,其中一个文本字段显示剩余的倒计时时间,如果此对话框未被取消/关闭,则计时器将执行其onFinish()指令 我可以使用倒计时计时器的onTick()方法中的广播更新活动 我的问题是,如果用户清除警告/警报对话框,我如何将消息发送回服务以cancel()计时器 边问题: OnTcCK()/Case>方法回调在常规的时间间隔上发射什么?他们认为有规律的间隔吗?我不想向每个活动发送更新广播,那么这不会是过度的广播吗?当我只

我的服务中有一个
倒计时计时器
,如果不停止,它将触发一系列事件。 我启动一个
活动
,其中一个文本字段显示剩余的倒计时时间,如果此对话框未被取消/关闭,则计时器将执行其
onFinish()
指令

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

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


边问题:<代码> OnTcCK()/Case>方法回调在常规的时间间隔上发射什么?他们认为有规律的间隔吗?我不想向每个活动发送更新广播,那么这不会是过度的广播吗?当我只需要每秒钟更新一次倒计时的时候

我不知道这是否是最好的解决方案,这取决于你多久做一次,但你可以使用一个共享的首选项—在你的应用程序中编写它,并在服务中检查它。
关于次要问题-在实例化计时器时,您正在设置间隔,因为这是构造函数
倒计时(long millisInFuture,long countDownInterval)

也不知道这是否是最佳解决方案,但它确实有效,我现在正在使用它。另一种方法是通过startService()调用服务,并在
onStartCommand()
中使用指定更新的
Intent
。如果没有,服务应该仍在运行。您可以处理服务已关闭的事实。我可能不得不问另一个问题,因为我无法确定如果
onStartCommand()
仍在处理,会发生什么。然后另一个对
startService()
的调用进入。它排队吗?或者多个
onStartCommand()
调用会并行运行吗?我不知道会发生什么-但我相信您会在这里找到答案:,在“服务生命周期”下。如果您仍然有疑问,这似乎是适当的日志记录和时间戳比较可以解决的问题。