Java 如果我关闭应用程序,倒计时是否有效?

Java 如果我关闭应用程序,倒计时是否有效?,java,android,Java,Android,我使用倒计时发送消息。如果我关闭应用程序,我想知道这是否有效 这是我的密码: new CountDownTimer(waitTime*1000, 1000) { public void onTick(long millisUntilFinished) {} public void onFinish() { forSend(); } }.start(); 即使调用了活动onDestroy(),并且将在onFinish()中调用forSend(),CountDownTimer仍处于

我使用
倒计时
发送消息。如果我关闭应用程序,我想知道这是否有效

这是我的密码:

new CountDownTimer(waitTime*1000, 1000) {
    public void onTick(long millisUntilFinished) {}
    public void onFinish() { forSend(); }
}.start();

即使调用了活动onDestroy(),并且将在
onFinish()
中调用
forSend()
CountDownTimer
仍处于活动状态;只要在onTick中放一个日志,您就会看到。但是,如果您关闭该应用程序,则进程将被终止,倒计时也将被终止。

请记住,当您“关闭”一个应用程序时,并不一定是一个“死”的应用程序,当一个应用程序从屏幕上完全消失时,它将进入停止状态(调用onPause()然后调用onStop()),然后需要一些时间来调用onFinish(),在此之后,应用程序不再作为可直接从onStart()访问的应用程序而存在,无需再次执行onCreate(),因此,只要计时器仍在计数,您的应用程序将处于“活动”状态,等待计数器结束,并在onFinish()处调用forSend()(来自annonymous CountDownTimer对象的onFinish())应用程序做的最后一件事当然是Activity类中的onFinish(),即使你是否覆盖它。

如果你在后台运行它,如果在后台运行它,它仍然可以工作。非常感谢。如果我杀死了应用程序呢?如果你显式调用onFinish()(从活动类)它不会结束倒计时,为了更好地理解你应该按照@Hoan Nguyen说的做,设置倒计时,显式调用onFinish()(再次从活动类而不是倒计时中调用onFinish())在倒计时结束之前的某个地方,检查你的日志,如果倒计时继续或不继续,我很确定它不会,顺便说一句,这不是一个新手问题,相反,非常好的问题。非常感谢你的耐心。@新手雨果我对此很好奇,你解决了这个问题吗?为什么不做正确答案的标记呢?不,我的答案是正确的,但是你应该把任何你认为正确的答案标记出来,以帮助其他人解决这个问题,如果有人遇到它。谢谢。如果我杀了应用程序怎么办?它不会工作的,对吗?(对不起,我是一个真正的新手)你说的停止应用是什么意思。例如,如果您通过向右滑动最近应用中的应用来终止该应用,则该进程将终止,并且倒计时将停止。谢谢!这就是我想要描述的…我扼杀了这个过程,你是对的!我也有同样的问题。当我在最近的应用中向右滑动应用时,它会关闭应用。我怎样才能修复它,使它仍然倒数?你不能,因为通过刷应用程序进程被杀死。