Android - сервис и взаимодействие - PullRequest
5 голосов
/ 18 июня 2010

Я хочу создать приложение, которое содержит Service S и Activity A. Service S отвечает за предварительную обработку, такую ​​как подготовка данных, отображаемых в пользовательском интерфейсе Activity A, перед тем, как вызывается Activity A.

Я хочу иметь возможность вызывать Service S извне пакета, скажем, из класса Activity другого приложения Android, выполнять предварительную обработку, а затем, когда данные будут готовы, вызвать действие A.

Мои вопросы:

  1. Каков наилучший способ обмена данными между службой S и операцией A?
  2. Каким образом внешняя операция B может взаимодействовать со службой S, чтобы определить, завершена ли она со всей своей предварительной обработкой, и готова ли операция A к запуску?

Спасибо Chris

1 Ответ

7 голосов
/ 18 июня 2010

Какой лучший способ обмена данными между службой S и деятельностью A?

Используйте шаблон локальной привязки и привязайте Activity A к Service S, а затем вызовите открытый API службы для получения всего, что нужно.

Как может внешняя деятельность B связаться со службой S, чтобы определить, завершено ли оно со всеми его предварительная обработка, и деятельность A готов к вызову?

Использовать шаблон удаленного связывания и AIDL. Деятельность B регистрирует AIDL-определенный обратный вызов в Сервисе S, который служба будет вызывать при необходимости. См. здесь и здесь для примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...