2014-09-23 99 views
0

我正在开发一个应用程序,显示AddScreen每隔1分钟,全光照的TimerTask()的概念,的TimerTask()仍然在后台运行,即使在应用程序退出的Android

问题是AddScreen是每1显示分钟,即使该应用程序当前未打开退出

AdSplashScheduleTime.java

public class AdSplashScheduleTime{ 

    Activity activity; 

    public AdSplashScheduleTime(Activity a){ 
     this.activity=a; 

     Timer myTimer = new Timer(); 

     myTimer.schedule(new TimerTask() {  

      @Override 
      public void run() { 
       activity.runOnUiThread(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         Intent viewTargetActivity = new Intent(activity.getApplicationContext(), AdSplashCopy.class); 
         activity.startActivity(viewTargetActivity); 
        } 
       }); 
      } 
     },60000, 60000);// 5 minutes   

    } 


} 

DiamondWorldMenus.java //主屏幕

public class DiamondWorldMenus extends TabActivity implements OnClickListener { 

AdSplashScheduleTime scheduleTime; 

onCreate(......){ 

scheduleTime=new AdSplashScheduleTime(this); 

} 

} 
+0

取消计时器在'的onPause('活动的) – Raghunandan 2014-09-23 04:53:11

+0

你的意思是在DiamondWorldMenus.java? – karthik 2014-09-23 04:56:23

+0

是的,你可以取消定时器 – Raghunandan 2014-09-23 04:57:10

回答

0

取消TimerTask的,当你从一个活动切换到另一个像这样

if(myTimer != null) { 
    myTimer.cancel(); 
    myTimer.purge() 
    myTimer = null; 
} 
+0

它显示取消()和清除()是不明的..... – karthik 2014-09-23 05:00:33

+1

@karthik你没有在activity类中定义的myTimer。在'AdSplashScheduleTime'中有一个类似cancelTimer的方法,并在那里取消定时器。当您需要取消定时器时,在您的活动课程中调用该方法。 – Raghunandan 2014-09-23 05:03:13

+0

我已经实施了代码,给时间检查.....谢谢 – karthik 2014-09-23 05:07:18

相关问题