Чтобы прояснить ситуацию: нигде не было создано намерение BOOT_COMPLETED
По какой-то причине Служба (которая запускается Приемником) потерпела крах на определенном устройстве некоторое время назад. Наш хороший друг Android ActivityManager решил реанимировать указанный Сервис:
03-16 12:00:02.239: WARN/ActivityManager(2504): Scheduling restart of crashed service de.ukn.hci.android.diary/.trigger.OnBootRecoverService in 5000ms
Что, конечно, привело меня к мысли, что Recevier был снова уволен, но - как оказалось, снова была только Служба. Без каких-либо намерений перезагрузить.
Решение чтобы остановить это:
Добавьте логическое значение Extra к намерению, созданному Получателем
serviceIntent.putExtra("isFromReceiver", true);
context.startService(serviceIntent);
Затем проверьте это логическое значение Extra, находясь в onStart (намерении) службы
boolean isFromReceiver = intent.getBooleanExtra("isFromReceiver", false);
if( !isFromReceiver ) {
return; //just stop starting the service
}