我的计时器为空但它正在运行

时间:2013-05-05 23:35:14

标签: android

我的程序是appWandget for android。 并且有2个计时器作为字段。

Timer usualTimer;
Timer unusualTimer;

在特殊的时间,我想运行不寻常的时间, 但是我不想和normalTimer一起同时运行它们,所以我有检查null的代码。

首先,我得到平常运行使用广播来感知appWidget已设置在屏幕上。

这是在我的广播课上。

//run  appWidget is set
    if(usualTimer == null){
                        usualTimer = new Timer();
                    motionTimerTask mtt = new motionTimerTask();
                    usualTimer.schedule(mtt, 0, 10000);
             }

接下来,我得到了不寻常的游戏。 这也是同一个广播课。

//run when catch special Broadcast
        if(usualTimer != null){
                            usualTimer.cancel();
                            usualTimer=null;
                        }


                        if(unusualTimer==null){
                        motionTimerTask mttU = new motionTimerTask();
                                usualTimer.schedule(mttU, 0, 10000);
    }

现在,unusualTimer正在运行,normalTimer停止。

我的问题是,在这种情况下,当我重置这个appWidget时,normalTimer开始运行。 我不知道为什么(ordinaryTimer == null)是正确的,但是通常运行正在运行。

取消注册receivert这是服务中的代码。这是一个问题吗?

@Override
public void onDestroy(){
  unregisterReceiver(receiver);
}

请告诉我如何解决。

0 个答案:

没有答案