Как подключиться к удаленному сервису из другого .apk - PullRequest
1 голос
/ 27 сентября 2011

Во-первых, я видел это:

Удаленное обслуживание как apk

И это мне совсем не помогает. Вот сделка. У меня есть один apk, который создает удаленный сервис (назовите его A). У меня тогда есть другой apk (назовите это B). Как я могу подключить B к A без включения файла AIDL или файла JAR. Я думаю, что это будет возможно.

** ОБНОВЛЕНИЕ **

Итак, я скопировал файл AIDL в B и создал службу в A для файла AIDL. Я могу подключиться к удаленному сервису и привязаться к сервису сейчас. Однако, когда я пытаюсь вызвать метод, который существует в службе, я получаю:

java.lang.SecurityException: вызов Binder для неверного интерфейса

Не можете найти какую-либо помощь по этому вопросу. Есть идеи?

** ПРОБЛЕМА РЕШЕНА ** Файл AIDL должен был находиться в пакете с таким же именем в проекте B. Спасибо за вашу помощь, Питер.

1 Ответ

1 голос
/ 27 сентября 2011

Вы должны знать формат данных, которые отправляются между двумя отдельными процессами.Это необходимо для сериализации / десериализации данных в объекты Java.

AIDL - это язык описания для описания структуры объектов.

Итак, у вас есть два варианта:

  1. Либо у вас есть AIDL, либо

  2. ваш код явно знает форматсделать де- / сериализацию.Это реализация Parcelable.Эта реализация может быть внутри фляги, которую вы включаете в свое приложение.

...