Я прыгаю через обручи (ну, это не так сложно), чтобы дважды не запускать будильник. Основной код выглядит следующим образом:
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
.