Вопрос по android, alarmmanager – Время / дата смены слушателя

1

Я хочу сделать прослушиватель времени или даты, который, например, вызывает активность каждый день в 9 часов утра. Я не уверен, что это лучший способ сделать это? Я знаю, что могу использовать Alarm Manager, но я не знаю, как сделать его повторяющимся?

Кто-нибудь знает? Заранее большое спасибо.

Ура :)

Ваш Ответ

1   ответ
4

t know how to make it repetitive?

использованиеsetRepeating() и укажите интервал повторенияINTERVAL_DAY:

    static void scheduleAlarms(Context ctxt) {
      AlarmManager mgr=(AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
      Intent i=new Intent(ctxt, ScheduledService.class);
      PendingIntent pi=PendingIntent.getService(ctxt, 0, i, 0);

      mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
                       SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY,
                       AlarmManager.INTERVAL_DAY, pi);
  }

Код выше настроит будильник, который сработает через 24 часа и каждые 24 часа после этого. Чтобы он начался в 9 утра, заменитеELAPSED_REALTIME сRTC и заменитьSystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY с 9 утра (сегодня или завтра), например, черезCalendar объект.

@ user1163454: Так как расписание аварийных сигналов стирается при перезагрузке, распространенным шаблоном является планирование аварийных сигналов при первом запуске приложения, когда устройство перезагружается (черезBOOT_COMPLETED приемник), и если вы решите, что тревога не произошла слишком долго (потому что пользователь использовал Force Stop для принудительного завершения вашего приложения). В случае тревоги каждый 9:00 вы можете объединить первое и третье, просто переназначив будильник при каждом запуске вашего приложения, а также при перезагрузке.
Поэтому, если я установлю что-то вроде этого: AlarmManager am = (AlarmManager) getSystemService (ALARM_SERVICE); am.setRepeating (type, setTime (everyDay9), INTERVAL_DAY, myActivity.class); тогда какой будет тип? в остальном все имеет смысл :) Заранее спасибо Farzan Majdani
Я думаю, что он дал вам все, что вам нужно.
Не могли бы вы дать пример кода? ура Farzan Majdani
Wow Большое спасибо, вы звезда :) Я попробую, я уверен, что это будет работать. Просто другой вопрос: работает ли это, если я просто применяю этот метод в основном классе активности, или я должен сделать класс приемника broadcastservice, который вызывает этот класс, который содержит этот метод в нем? Извиняюсь, если мои вопросы звучат глупо, я только начал изучать Android. Farzan Majdani

Похожие вопросы