Как установить двухстороннюю связь между Действием и Обслуживанием в другом процессе?

Я работаю над установлением двухсторонней связи между Действием и Обслуживанием, которое работает в другом процессе.

Запросы процесса от Действия не являются никаким грандиозным предприятием. Но я хочу, чтобы процесс уведомил Действие по событиям. Идея позади него - это: услуга работает независимо из реального приложения. Это периодически запрашивает веб-сервер. Если новая задача найдена на веб-сервере, процесс должен уведомить действие.

Я нашел этот поток по AndDev.org, но это, кажется, не работает на меня. Я бездельничал с BroadcastReceiver. Я реализовал интерфейс, который должен уведомить Действие, но проблема состоит в том, что слушатель является всегда пустым, так как Широковещательная передача от процесса сделана через Намерение, следовательно класс, который расширяет BroadcastReceiver, недавно инстанцируют.

Как я могу установить двухстороннюю связь? Это должно быть возможно. Спасибо за любую справку,

steff

7
задан stfn 19 March 2010 в 08:58
поделиться

3 ответа

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

4
ответ дан 7 December 2019 в 05:20
поделиться

Я думаю, вам следует заставить BroadcastReceiver снова начать вашу деятельность с результатом в намерении.

Или вы можете использовать AIDL об AIDL. В примерах также есть (несколько?) Примеров использования AIDL и сервисов. Но AIDL может сильно затруднить вашу задачу.

2
ответ дан 7 December 2019 в 05:20
поделиться

Вы должны использовать BroadcastReceiver для получения намерений, а когда вы хотите общаться, просто создайте намерение с соответствующими значениями.

Таким образом, вы сможете установить двустороннюю связь между любыми компонентами.

2
ответ дан 7 December 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: