Мое приложение показывает контент для сайта, на котором также есть система уведомлений. Я хочу показать, есть ли новые уведомления, и я использую AlarmManager
, который вызывает IntentService
.
Мой вопрос: где мне запустить / зарегистрировать этот AlarmManager
? Я поместил его в onCreate ()
моего действия только для проверки концепции (и он работает нормально, большое спасибо :)), но если вы начнете это действие дважды, вы будут получать несколько сигналов тревоги.
Единственное возможное решение, которое я придумал, это следующее, но я не знаю, будет ли это наилучшей практикой.
onCreate ()
если предпочтение «тревога запущена» ложна Теперь, если тревога прекращается по какой-либо причине, нет возможности перезапустить ее. Итак, вариация будет такой:
onCreate ()
Это похоже на общий шаблон: желание периодически получать информацию с будильником и не устанавливать этот будильник на более чем один раз. Как мне это сделать? Когда, где и как зарегистрировать тревогу?
Также, продолжая комментарий @Zelimir: можете ли вы проверить, все ли уже установлен определенный будильник?
В идеале, будильник должен быть установлен независимо от того, запущено действие или нет, конечно, но это может быть другое.
Для полноты, это код, который я сейчас использую для запуска будильника:
AlarmManager alMan = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, CommentService.class);
PendingIntent penInt = PendingIntent.getService(this, 0, i, 0);
alMan.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(),
AlarmManager.INTERVAL_FIFTEEN_MINUTES,
penInt);
Для еще большей полноты, описание приложения / ситуации.
Приложение в основном показывает блоги (журналы, если хотите) с определенной страницы. В нем есть действия по добавлению записей, просмотру записей, добавлению комментариев и т. Д. На материнском сайте есть возможность получать уведомления (например, номер, который вы видите здесь, на SO, когда вы получаете сообщение). Я хочу показать, есть ли новые сообщения, и получать их каждые xx минут. На данный момент он будет отображаться на панели уведомлений, но позже он может содержать какой-то виджет.
Если вам нужна дополнительная информация: приложение называется Androblip и поддерживает сайт blipfoto.com