Я прыгаю через обручи (ну, это не так уж и сложно), чтобы избежать двойного срабатывания будильника.Основной код выглядит следующим образом:
AlarmManager mgr=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(this, MyService.class);
PendingIntent pi=PendingIntent.getService(this, 0, i, 0);
mgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), AlarmManager.INTERVAL_FIFTEEN_MINUTES, pi);
Будет ли иметь значение, буду ли я запускать этот код при каждом запуске моего приложения?Я не вижу каких-либо побочных эффектов, когда называю это примерно 10 раз экспериментом с избыточным убийством, но я не могу найти никаких ссылок на то, является ли это совпадением или ожидаемым поведением.
Если это не особенно ожидается, он чувствует себя «неправильно».Это может привести к неприятностям позже, если поведение AlarmManager
изменится.