2014-09-23 108 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

相關問題