好的,这让我很生气。对倒计时服务有限制吗?
我尝试了很多方法让倒数计时器在服务中运行,但总是失败。它永远不会到达终点()部分!
服务和倒计时是否有限制或什么?请帮帮我......
这是服务:
public class ss extends IntentService {
public ss() {
super("ss");
}
@Override
protected void onHandleIntent(Intent intent) {
new CountdownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
executemymethod(); //it never gets here!
}
}.start();
}
}
正如您所看到的,代码简单而正确,但仍然是executemymethod();从未真正执行过!没有错误......请给我一个解决方案!
答案 0 :(得分:4)
如果你想做这种事情,你应该使用常规服务而不是IntentService。以下是文档对IntentService所说的内容:
客户端通过startService(Intent)调用发送请求;根据需要启动服务,使用工作线程依次处理每个Intent,并在工作失败时自行停止。
由于倒计时是异步的,因此在您启动倒数计时器后工作已完成。然后IntentService立即完成,并可能关闭该线程。