¿Pueden las aplicaciones de Android comunicarse entre sí?

Sí pueden. Los desarrolladores escriben un receptor de difusión y un oyente en sus aplicaciones. Según la transmisión, ciertas aplicaciones responden según lo que estén programadas para escuchar. Es decir, debe establecer permisos para definir qué aplicaciones deben escuchar qué transmisiones. Estos son mensajes fijos escritos por el desarrollador y una vez que la aplicación recibe el mensaje, realiza la acción adecuada.

Cuando utiliza sendBroadcast (Intent) o métodos relacionados, normalmente cualquier otra aplicación puede recibir estas transmisiones. Puede controlar quién puede recibir dichas transmisiones a través de permisos

Puedes leer sobre esto aquí >> http://developer.android.com/ref…

Ya habrías visto este comportamiento en muchas aplicaciones. Por ejemplo, al hacer clic en un correo electrónico en una ventana del navegador, se inicia automáticamente la aplicación de correo electrónico. Pero hay una gran diferencia en esto. En este escenario, la aplicación que se llama no necesita ejecutarse. Lo que sucede aquí (en términos de desarrollador) es que el correo electrónico se agrega a algo llamado Paquete con extras (el correo electrónico son los extras) y se crea un Intento con una llamada a la aplicación Correo. Una vez que la aplicación de correo elegida se inicia, abre el paquete recibido, desenvuelve los parámetros, encuentra que hay una ID de correo electrónico y la pone en su campo Para. Si lo desea, puede agregar otros campos, como asunto y un mensaje preestablecido, como “Enviar a través del navegador XYZ”, agregándolo al paquete durante la llamada de intención. En realidad, esto es bastante diferente a hablar, pero puedo decir que todavía está hablando (o más bien como iniciar una conversación). La diferencia aquí, en comparación con las transmisiones, es que la aplicación no necesita estar ejecutándose y es más como una llamada de función con parámetros en lugar de un mensaje a un hilo en ejecución .

Las aplicaciones de Android pueden enviarse mensajes entre sí en un dispositivo utilizando Intents. Si se trata de una aplicación que habla con la misma aplicación en diferentes dispositivos, hay varios protocolos, como XMPP, que definen cómo se produce la comunicación entre las aplicaciones.