Мое приложение имеет один сервис и набор действий.
Каждое действие охватывает небольшую задачу (например, попросить пользователя ввести число, или текст, или выразить предпочтение).
Служба запускает действия или поднабор действий.
Порядок, в котором служба запускает действия, меняется с учетом часов дня.
Но каждый раз, когда служба должна ждать окончания действия (чтобы получить результат действия), прежде чем начать следующее действие.
Моя идея состояла в том, чтобы использовать вызов wait()
вслужба между выполнением двух действий.
Каждое действие использует sendBroadcast для возврата результата в BroadcastReceiver
.
BroadcastReceiver
выполняет notify()
для освобождения службы и пересылкирезультат деятельности к сервису.
Очевидно, эта идея не работает.Проблемы:
1) При запуске многих действий из службы возникает проблема, связанная с задачей, к которой относится каждая деятельность.
2) Я не знаю, как передать информацию из BroadcastReceiver
в Service
(впервые я объявил BroadcastReceiver
в классе Service
, но когда служба вошлаwait()
процесс остается заблокированным и BroadcastReceiver
никогда не получает).
Пожалуйста, я принимаю любые предложения.Может быть, изменение в архитектуре приложения?
Спасибо