2017-02-24 2 views
-1

타이머 서비스에 문제가 있습니다. 활동을 종료 할 때마다 서비스는 계속해서 카운트 다운하는 대신 카운트 다운을 다시 시작합니다. 나는 앱을 종료하더라도 카운트 다운을 계속하기를 원합니다.카운트 다운을 계속하는 타이머

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

'onStartCommand'에서'START_NOT_STICKY'을 (를) 반환하고 시도하십시오 .. –

+0

같은 일이 발생합니다 –

답변

0

당신이 타이머를 종료하려면, 당신은 onFinish() 무효의

timer.cancel(); 

방법을 호출해야합니다. 타이머를 종료합니다.

관련 문제