Мне нужно было восстановить тревогу после перезагрузки, для этого я добавил вот этот вещательный приемник:
public class ClsRestartAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Logging.logMessage("Broadcast");
Intent i = new Intent(context, BootService.class);
context.startService(i);
}
}
}
и зарегистрирован в манифесте следующим образом:
<receiver android:name=".classes.ClsRestartAlarm"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
и в результате трансляции я делаю это:
public class BootService extends IntentService {
public BootService() {
super("boot service");
}
@Override
protected void onHandleIntent(Intent intent) {
AlarmManagerUtils.setStartAlarm();
AlarmManagerUtils.setEndAlarm();
}
}
Я предполагаю, что я не получаю широковещательную рассылку BOOT_COMPLETE в классе ClsRestartAlarm, потому что после перезапуска будильник не был установлен, и я не смог получить уведомление (начальный будильник запускает планировщик заданий для отправки уведомления, а завершающий будильник отменяет планировщик заданий) также у меня есть разрешение BOOT_COMPLETE так:
<uses-permission android:name="ANDROID.PERMISSION.RECEIVE_BOOT_COMPLETED"/>