Использование временных событий в BlackBerry - PullRequest
1 голос
/ 28 декабря 2011

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

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

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

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

ура

Кайман

1 Ответ

2 голосов
/ 28 декабря 2011

Классы 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#Keeping_the_app_running_1381022_11

...