¿Cuántas maneras de un servicio android para comunicarse con otros componentes dentro de la misma aplicación?

En Android, dado un Service específico, ¿cuántos métodos existen para que el Service comunique con otros componentes (actividad, proveedor de contenido, receptor, otros servicios)?

Por lo que sé, hay por lo menos 7 métodos:

  1. Comienza el servicio
  2. AIDL / bindService
  3. EnvíaBroadcast
  4. StartActivity
  5. notificación
  6. Mecanismo de mensajería
  7. Ashmem

¿Hay otros?

Gracias.

Como dijo gunar , también puedes usar un Event Bus .

Los más populares son:

  • Otto (cuadrado)
  • EventBus (greenrobot)

La documentación es auto explicativa, pero si necesita ayuda para empezar, házmelo saber.

Saludos, Ryan

Si quieres clasificarlos, entonces lo haría de la siguiente manera.

  1. Comunicación usando Intents
  • Propósitos de difusión (global y local )
  • Intenciones de componentes (iniciar actividad, iniciar servicio)
  • Notificaciones del sistema
  1. Interprocess communication (IPC), puede utilizarse también en proceso.
  • Servicios vinculados
  • Uso de Messenger
  1. Comunicación a través de objetos compartidos.
  • Uso de Singleton (por ejemplo, la aplicación u otras clases singleton)
  • Uso del bus de eventos (EventBus, TinyBus , Otto)
  • ¿Cuándo y por qué se requiere PARTIAL_WAKE_LOCK?
  • Paho MQTT Android Service Issue
  • AudioSource.VOICE_CALL no funciona en android 4.0 pero funciona en android 2.3
  • ¿Cómo implementar mejor dos actividades que comparten un servicio (con conexión Bluetooth)?
  • Mostrando una Snackbar desde dentro de un Servicio
  • Mantener viva Servicio de Intención después de que la aplicación es asesinada
  • ¿Por qué utilizar Service si se ejecuta en el mismo subproceso en android
  • Android Service Exchange siempre se bloquea
  • ¿Por qué un servicio Android no es singleton cuando se prueba?
  • ¿Se puede anidar un servicio en una aplicación?
  • Se muere la conexión de servicio XMPP
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.