2017-02-24 4 views
-1

Ich habe ein Problem mit meinem Timer-Service. Wenn ich die Aktivität abbringe, startet der Dienst den Countdown erneut, anstatt weiter zu zählen. Ich möchte, dass es weiter zählt, obwohl ich die App beendet habe.Timer läuft weiter Countdown

public class TimerService extends Service { 
CountDownTimer timer; 
Handler mHandler = new Handler(); 
private static final String TAG="com.timer"; 
@Override 
public IBinder onBind(Intent arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 

public void onCreate(){ 
    mHandler.post(new Runnable(){ 

     @Override 
     public void run() { 
      timer = new CountDownTimer(20000, 1000) { 
       @Override 
       public void onFinish(){ 

       } 

       @Override 
       public void onTick(long millisUntilFinished) { 

        Log.i(TAG,"" + millisUntilFinished/1000); 

       } 
     }; 
     timer.start(); 
     } 

    }); 

} 
public int onStartCommand(Intent intent, int flags, int startId){ 


    return super.onStartCommand(intent, flags, startId); 
} 

public void onDestroy(){ 
    timer.cancel(); 
    super.onDestroy(); 
} 

}

+0

zurück 'START_NOT_STICKY' von' onStartCommand' und versuchen .. –

+0

Das Gleiche passiert –

Antwort

0

Wenn Sie den Timer beenden wollen, sollten Sie rufen Sie die

timer.cancel(); 

Methode im OnFinish() void. Das wird den Timer beenden.