Android-связь между двумя приложениями - PullRequest
17 голосов
/ 09 января 2011

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

  1. Приложение A отправляет строку в приложение B.
  2. Приложение B получает строку, например, «startClassOne», приложение B, используя метод, запускает classOne и получает результат. Результат отправляется обратно (снова в виде строки!) В приложение A.
  3. Приложение A записывает в консоль полученную строку от B.

1 Ответ

37 голосов
/ 09 января 2011

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

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

При этом вы можете:

  • имеет приложение B, которое предоставляет IntentService, которое будет вызываться через startService() из приложения A, а результаты передаются обратно через PendingIntent из createPendingResult() или Messenger, или широковещательную рассылку Intent ResultReceiver; или
  • имеет приложение B, выставляющее Service с API, определенным в AIDL, и имеет приложение A, связывающееся с этой службой, затем имеет методы вызова приложения A в приложении B, или
  • отправить широковещательную рассылку Intent из приложения A в приложение B с результатами, передаваемыми тем же списком опций в первом пункте выше или
  • имеют приложение B для реализации провайдера контента, а приложение A используют ContentResolver для манипулирования этим провайдером контента
  • и т. Д.

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

...