Деятельность и услуги с использованием обработчиков - PullRequest
0 голосов
/ 28 апреля 2011

Здравствуйте, я пытаюсь использовать несколько служб в приложении, я хочу перезапустить службы через определенный промежуток времени после извлечения измененных значений из одной из служб.Просьба направить меня на реализацию этого с использованием обработчиков / таймеров / широковещательных приемников.

Спасибо

Ответы [ 2 ]

1 голос
/ 09 апреля 2014

Вы должны использовать AlarmManager, который отправляет ожидающие намерения.Вы можете использовать несколько намерений и широковещательных приемников.В эфире ресиверов вы можете запустить сервис.Таким образом, вы можете запускать несколько служб в разное время или вместе, если хотите.

Вы можете использовать Alarmmanager для отправки повторных сигналов тревоги, или вы можете использовать его в одной из служб и установить новое время для вашего ожиданияНамерение.

Не используйте таймер!

Преимущество такого подхода состоит в том, что все это работает, когда действие не активно.

Вы можете привязаться к службе, как показано в примере, но если вы хотите передать данныеиз службы в деятельность вы можете просто использовать объект приложения или одиночный файл.Также я бы использовал IntentService, который автоматически выполняет работу основного потока.Если вы хотите сделать что-то в другом потоке, который должен более тесно взаимодействовать с Activity, я бы использовал AsyncTask или Thread.

0 голосов
/ 28 апреля 2011

На следующей странице подробно описывается работа над классом broadcastReceiver и службой при запуске.http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

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

и длячасть обмена сообщениями, пожалуйста, обратитесь к этой теме .. Программа, представленная в этой теме, очень крутая .. спасибо программисту ...

Пример: взаимодействие между Деятельностью и Сервисом с использованием Сообщения

С уважением, --Rajesh

...