サービスが強制終了された場合、それを自動的に再起動する方法は?
時には電話もせずにonDestroy()
IntentService を継承したので、優しくする必要がありました。onStartCommand() をオーバーライドするとうまくいきましたが、
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
つまり、親が本来すべきことを行い、START_STICKY を返すようにします。
onStartCommand()
and give START_STICKY
or START_REDELIVER_INTENT
(ニーズに応じて)を戻り値としてオーバーライドします。その後、システムは、サービスを明示的に停止するまで、必ずサービスを再起動します。
http://developer.android.com/reference/android/app/Service.html#START_REDELIVER_INTENT
http://developer.android.com/reference/android/app/Service.html#START_STICKY
サービスを強制終了した場合、システムは後でサービスを再起動しようとします。続きを読む.