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