Как общаться между приложениями на Android - PullRequest
2 голосов
/ 06 декабря 2010

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

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

Однако после http://developer.android.com/guide/developing/tools/aidl.html У меня проблемы с выполнением этой работы для клиентских приложений, в частности для линии

"В вашей реализации ServiceConnection.onServiceConnected () вы получите экземпляр IBinder (называемый службой). Вызовите службу YourInterfaceName.Stub.asInterface ((IBinder)) для приведения возвращаемого параметра к типу YourInterface."

Поскольку приложения распространяются отдельно, у меня нет доступа к YourInterfaceName, и копирование его в клиентское приложение определенно выглядит как "неправильный путь"

Если бы кто-нибудь мог предоставить указатель на документацию / книгу / исходный код, который был бы очень полезен, спасибо

(и простите за иронию в моем имени, это была шутка)

Ответы [ 3 ]

2 голосов
/ 06 декабря 2010

Книга "Pro Android 2" имеет достойный пример по AIDL ...

0 голосов
/ 06 декабря 2010

Вы должны скопировать (или иным образом включить или переписать с сопоставимыми функциями) ту часть кода, которая выполняет клиентскую часть IPC Binder в клиентские проекты.

0 голосов
/ 06 декабря 2010

Что именно приложения должны общаться друг с другом?

Если это данные, то вы можете взглянуть на ContentProvider .

Вы также можете поделиться информацией через Intent.putExtra.

...