Android服务+倒计时=无法正常工作

时间:2011-11-23 17:30:43

标签: android service

好的,这让我很生气。对倒计时服务有限制吗?

我尝试了很多方法让倒数计时器在服务中运行,但总是失败。它永远不会到达终点()部分!

服务和倒计时是否有限制或什么?请帮帮我......

这是服务:

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();从未真正执行过!没有错误......请给我一个解决方案!

1 个答案:

答案 0 :(得分:4)

如果你想做这种事情,你应该使用常规服务而不是IntentService。以下是文档对IntentService所说的内容:

  

客户端通过startService(Intent)调用发送请求;根据需要启动服务,使用工作线程依次处理每个Intent,并在工作失败时自行停止。

由于倒计时是异步的,因此在您启动倒数计时器后工作已完成。然后IntentService立即完成,并可能关闭该线程。