2013-10-28 40 views
0

我的TimerService中有一個定時器,帶有一個任務。每5秒鐘必須撥打另一個服務。在定時器中調用另一項服務的服務

@Override 
    public void onCreate() 
     { 

      super.onCreate(); 
      Log.i("ServiceDemo01", "Service Starts"); 
      TimerTask task = new TimerTask() 
       { 
        @Override 
        public void run() 
         { 

          startService(new Intent(this, CameraService.class)); 

          Log.i("ServiceDemo01", "Picture Taken"); 
         } 
       }; 

      timer = new Timer(); 
      timer.schedule(task, 0, 5000); 
     } 

但我不能在一個計時器中做,我該如何解決?

startService(new Intent(this, CameraService.class)); 

回答

4

可以,但是要得到它的工作,你必須設置一個適當的範圍內:

startService(new Intent(TimerService.this, CameraService.class)); 
+0

非常感謝! :) – Hoper

+0

我有類似的挑戰。要明確,問題是在原始代碼「this」中引用了匿名TimerTask而不是TimerService。我通常會讓匿名類包含對包含類的方法的簡單調用,以避免範圍問題。 –

相關問題