サービスが終了したら、自動的に再起動する方法はありますか?あなたはあなたのサービスが殺されている場合でもonDestroy()
死んだサービスを自動的に再起動するには?
7
A
答えて
0
を呼び出さずに、時には
、システムは、後でそれを再起動しようとします。 moreをお読みください。
3
START_STICKY
または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
+0
START_STICKYしています。 nexus 5で正常に動作し、サービスを再起動します。しかし、xiaomiサービスでは、私のアプリケーションが殺されるとすぐに殺されています。 – Abhi
6
私はIntentServiceを継承したので、私は穏やかでなければなりませんでした。私はonStartCommandをオーバーライド()が、ある
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
、は、親が何それがをすべきとSTART_STICKYを返すやらせるとき それは私のために働きました。
サービスが強制終了された場合は、ユーザーがそのサービスを強制終了したか、メモリ不足のためです。つまり、おそらくそれを再起動しないでください。あなたは応答のためにそのような長時間実行しているサービスを残すべきではありません – Falmarri
しかし、私はそれらを殺したときにいくつかのサービスがあります、彼らはすぐに自分自身を再起動します。 – SEed