2017-01-13 1 views
0

У меня есть два приложения, A и B, работающих на одном устройстве (так как у меня есть только одно устройство для тестирования).Связь между двумя приложениями для Android

Я хочу, чтобы A и B связывались друг с другом без реализации каких-либо бэкэнд или услуг.

Приложение A создает сообщение (в данном случае уведомление о событии), а приложение B получает сообщение (также уведомление) на своем переднем плане.

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

Как я могу идти об этом?

+0

Уведомления не отображаются в приложении. Они появляются на устройстве. Кроме того, в Android существует много вариантов IPC. Например, приложение A может отправить широковещательную передачу, которую приложение B получает через зарегистрированный «BroadcastReceiver». – CommonsWare

+0

@CommonsWare, звучит интересно. Можете ли вы объяснить lil больше? –

+0

https://developer.android.com/guide/components/broadcasts.html – CommonsWare

ответ

0

вы можете использовать BroadcastReceiver, а также AIDL [язык определения Android Interface], чтобы общаться через процессы

0

Вы можете отобразить уведомление от AppA, который будет иметь ContentIntent, указывающее на какой-либо деятельности внутри AppB (только убедитесь, что эта активность экспортировал = истинный атрибут в манифесте). Кроме того, вы можете отправлять трансляцию из AppB и получать ее в некоторых BroadcastReceiver в AppB. Последний и, на мой взгляд, наименее полезный вариант в вашем случае - использовать Binder, но я не могу представить, как вы можете использовать его в описанном случае. Предыдущие были гораздо более стабильными. Binder - это еще один вариант для разговора между приложениями/процессами.

+0

Спасибо, я изучу реализацию с широковещательными приемниками. –

0

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