Как перезапустить сервис Android, когда он прерывается перезагрузкой? - PullRequest
0 голосов
/ 11 октября 2011

Я запускаю службу Android вручную, которая выполняет сбор данных.

Предположим, что при перезагрузке произошел сбой, и служба на этом заканчивается. Мне нужно перезапустить эту же службу при перезагрузке.

примечание: я не запускаю службу при загрузке. Заранее спасибо.

1 Ответ

3 голосов
/ 11 октября 2011

Вы можете перезапустить службу после прерывания загрузки.

Просто сохраните флаг в общем префе, который имеет логическое значение true в случае прерывания загрузки.

Теперь, когда загрузка завершится, вы можете использовать следующий код для перезапуска службы.

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class MyStartupIntentReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
 // check for interreupted flag in shared pref
 // if true restart your service
}
}

Добавьте следующий фрагмент к своему манифесту

<receiver android:name="MyStartupIntentReceiver">
<intent-filter>    
<action
android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>

Приветствия ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...