Actualización de una actividad desde un BroadcastReceiver
Esta pregunta trajo un tema interesante.
El OP tiene una aplicación que muestra un mapa, y este mapa debe actualizarse con los marcadores de ubicación que se reciben a través de mensajes SMS. Los pasos individuales son bastante sencillos: los mensajes SMS pueden ser recibidos por unBroadcastReceiver
, los marcadores pueden ser mostrados por unItemizedOverlay
encima de unMapView
. La parte difícil es que la parte receptora se comunique con la parte principal de la aplicación.
¿Qué pasa si la aplicación tiene un activo?MapActivity
, y luego suBroadcastReceiver
se invoca como respuesta a un SMS entrante? Es elMapActivity
suspendido mientras elBroadcastReceiver
¿El código se ejecuta en el mismo proceso? Si es así, ¿es seguro paraBroadcastReceiver
para acceder a laMapActivity
a través de una referencia estática (que se establece por la actividad deonCreate
¿método?
Por el contrario, es una aplicación deBroadcastReceiver
ejecutado en un proceso separado, y por lo tanto, ¿necesitaría alguna otra forma de comunicarse con la actividad de la aplicación?