Доступ к методам удаленного обслуживания в обоих связанных сервисах - PullRequest
1 голос
/ 17 января 2012

У меня есть две службы A и B. Если мы хотим получить доступ к некоторым методам службы B в службе A, нам нужно создать класс ServiceConnection, а внутри службы A мы должны создать Stub и реализовать методы.

Но я также хочу получить доступ к методам службы A из службы B. Для ознакомления я создал еще одно вспомогательное соединение и реализовал ServiceConnection, он работает нормально, это единственный способ ИЛИ мы можем использовать существующее подключение службы иреализовать эту функцию другим способом?

Ответы [ 2 ]

1 голос
/ 24 января 2012

Я бы предположил, что это единственный способ работы AIDL из моего опыта.Вы всегда можете создать собственный обратный вызов, который можно передать в службу B из службы A, тогда, когда B захочет отправить обратно в A, он может вызвать обратный вызов.Существует также возможность передачи намерений туда и обратно или связь через сокет.Просто убедитесь, что вы блокируете на другой стороне.

0 голосов
/ 24 января 2012

Сервисы, безусловно, могут иметь интерфейсы обратного вызова (т. Е. Сервисы могут вызывать методы в клиентах).

Предлагаем вам обратиться к Примеру RemoteService в SDK .

...