Использование временных событий в BlackBerry

Можно ли запустить событие в указанный промежуток времени в BlackBerry? Я ищу что-то похожее на класс AlarmManager в Android (если кто-нибудь знаком с ним).

Цель состоит в том, чтобы запустить некоторый код, даже когда приложение не находится на переднем плане и не получает приоритетного "фокуса". Желательно, чтобы было возможно запустить событие, даже если приложение было убито системой или перезагрузкой телефона (я не знаю подробностей об уничтожении приложений в этой ОС, сейчас я начинаю разработку).

Я бы предпочел не писать фоновый процесс для этой задачи, поскольку он будет запускаться каждые несколько часов (я думаю, что было бы бесполезно тратить батарею, чтобы использовать фоновую задачу для простого события, напоминающего тревогу).

Я много оглядывался по сторонам, но не могу найти удовлетворительного решения.

веселит,

kajman

1 ответ

Решение

Классы Timer и TimerTask полезны для запуска задачи по расписанию. Посмотрите на API здесь:

http://www.blackberry.com/developers/docs/7.0.0api/java/util/Timer.html

Таймер создаст свой собственный поток и будет спать, пока у него не будет задачи для запуска. Это будет включать в себя выполнение фоновой задачи, но это не будет использовать процессор или батарею, если он просто ждет.

Если вы не хотите, чтобы поток все время выполнялся, вы можете использовать класс ApplicationManager, чтобы запланировать запуск приложения позже.

Вы также можете настроить приложение для запуска при запуске. ОС обычно не убивает ваши приложения, если у вас нет ошибки кодирования. RIM ссылается на это как "Постоянный опыт" в своем документе Super App:

http://docs.blackberry.com/en/developers/deliverables/23567/Always_on_1380986_11.jsp

Другие вопросы по тегам