Receptor de mensajes

Esta es una clase base para el código que recibirá las intenciones (Intent) enviada por sendBroadcast (). Usted puede ya sea de forma dinámica registrar una instancia de esta clase con Context.registerReceiver () o estáticamente publicar una aplicación a través de la etiqueta <receiver> en su AndroidManifest.xml. Nota: Si Ud. registro un receptor con Activity.onResume() en la implementación, debe anular el registro en Activity.onPause (). (Usted no recibirá intenciones (Intent) cuando hizo una pausa, y esto va a reducir una sobrecarga innecesario para el sistema). No anule el registro en Activity.onSaveInstanceState (), porque esta no se llamará si el usuario se mueve hacia atrás en la historia de pila.

Hay dos clases principales de receptores de mensajes que se pueden utilizar:

Mensajes Normales (enviado con Context.sendBroadcast) son completamente asíncronos. Todos los receptores del mensaje se ejecutan en un orden definido, a menudo, al mismo tiempo. Esto no sólo es más eficiente, sino que significa que los receptores no pueden usar los resultados o abortas las API que se incluyan aquí.

Mensajes Ordenados (enviado con Context.sendOrderedBroadcast) se entregan a un receptor uno a la vez. A medida que cada receptor se ejecuta a su vez, se puede propagar un resultado al siguiente receptor, o bien se pueden abortar por completo el mensaje para que no se transmita a otros receptores. El orden en que los receptores se pueden organizar puede ser controlado con el atributo de prioridad android:priority del correspondiente filtro de intención, los receptores con la misma prioridad se ejecutarán en un orden arbitrario.

Incluso en el caso de los mensajes normales, el sistema puede en algunos casos volver a entrega el mensaje a un receptor a la vez. En particular, para los receptores que pueden requerir la creación de un proceso, sólo uno se llevará a cabo a la vez para evitar sobrecargar el sistema con los nuevos procesos.

Leave a reply

You must be logged in to post a comment.