La llamada de servicio vuelve a la actividad en android

Tengo un servicio de back ground funcionando. Tengo un cliente que interactúa con el servicio.

Cuando el cliente solicita alguna operación, el servicio lo realiza y debe devolver el resultado a la actividad (cliente).

Sé cómo invocar los métodos de servicio en la actividad y el uso de llamadas de vuelta que podemos lograr lo que quiero hacer. Pero no soy capaz de entender el mecanismo de devolución de llamada y el ejemplo de código proporcionado en demos Api (remoteservice).

¿Puede alguien dar mejor tutorial sobre este servicio de llamada de vuelta o cualquier cosa que es alcanzable mediante el mecanismo más simple.

Gracias de antemano!

Si ayuda, aquí hay dos ejemplos de proyectos que muestran un cliente / servicio remoto con devoluciones de llamada.

También puede utilizar Intents de difusión para enviar información del servicio al cliente.

Aquí está el flujo
Cree su intención de llamar a un servicio. Puede BindService() o BindService() con BIND_AUTO_CREATE

Una vez que el servicio es bond, creará un túnel para hablar con él clientes que es la interfaz de IBinder . Esto es utilizado por su implementación de interfaz AIDL y devolver el IBinder en

 private final MyServiceInterface.Stub mBinder = new MyServiceInterface.Stub() { public int getNumber() { return new Random().nextInt(100); } }; public IBinder onBind(Intent intent) { // TODO Auto-generated method stub Toast.makeText(this, "Service OnBind()", Toast.LENGTH_LONG).show(); return mBinder; } 

Una vez que devuelve el mBinder , ServiceConnection que creó en el cliente se devolverá y obtendrá la interfaz de servicio mediante este

  mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } public void onServiceConnected(ComponentName name, IBinder service) { // TODO Auto-generated method stub mService = MyServiceInterface.Stub.asInterface(service); }; 

Ahora tienes la interfaz mService para llamar y recuperar cualquier servicio de ese

  • Google Cloud Messaging - GCM - SERVICE_NOT_AVAILABLE
  • ¿Por qué NullPointerException ocurre con el uso de BillingService estándar?
  • Diseño de hilos múltiples de Android Service
  • Android: mantener el servicio en ejecución cuando se mata la aplicación
  • ¿Puede Android ServiceTestCase <MyService> enviar mensajes a mi servicio?
  • MVC en Android: ¿Aplicación o servicio para actualizaciones asíncronas?
  • Android: superposición en la ventana sobre las actividades de una tarea
  • Reconocimiento de voz como servicio de fondo
  • Depurar servicio de fondo en android utilizando intelliJ
  • Android - ¿Cómo decidir si ejecutar un servicio en un proceso separado?
  • ¿Cómo comprobar el permiso automático de MIUI mediante programación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.