2016-11-04 15 views
1

現在、私はカウントダウンタイマー用のサービスを作成しています。アプリケーションが破棄されてもタイマーを実行したいです。サービスクラスのカウントダウンタイマー

START_NOT_STICKYを使用すると、アプリケーションのサービスが停止するよりも停止します。再起動よりもSTART_STICKYを使用すると、アプリケーションのサービスが破棄されます。ここで

は私のコードです:ここでは

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 
Button btn_testing; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    init(); 
    listener(); 

} 

private void init(){ 
    btn_testing = (Button)findViewById(R.id.btn_testing); 


} 

private void listener(){ 
    btn_testing.setOnClickListener(this); 

} 

@Override 
public void onClick(View v) { 

    switch (v.getId()){ 


     case R.id.btn_testing: 
      startService(new Intent(this, Service_Tesing.class)); 
      break; 
    } 

} 

}

は私のサービスクラスです:

import android.app.IntentService; 
import android.app.Service; 
import android.content.Intent; 
import android.os.CountDownTimer; 
import android.os.IBinder; 
import android.support.annotation.Nullable; 
import android.util.Log; 



public class Service_Tesing extends Service { 


@Override 
public void onCreate() { 
    super.onCreate(); 
    CountDownTimer countDownTimer = new CountDownTimer(30000,1000) { 
     @Override 
     public void onTick(long millisUntilFinished) { 
      Log.e("Timer", millisUntilFinished+""); 
     } 

     @Override 
     public void onFinish() { 
      Log.e("Finish","Finish"); 

     } 
    }.start(); 


} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    stopSelf(); 
    return START_STICKY; 

//  return Service.START_STICKY_COMPATIBILITY; 
} 

@Nullable 
@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 

}

+0

のデモを見つけることができます '私は、アプリケーションがdestory'はその後、別のプロセスで実行されている場合でも、タイマーを実行したいです –

答えて

関連する問題