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