Atualizando uma Atividade de um BroadcastReceiver
Essa questão trouxe uma questão interessante.
O OP tem um aplicativo que exibe um mapa e esse mapa precisa ser atualizado com marcadores de local recebidos por mensagens SMS. As etapas individuais são bem diretas: as mensagens SMS podem ser recebidas por umBroadcastReceiver
, os marcadores podem ser exibidos por umItemizedOverlay
em cima de umMapView
. A parte complicada é ter a parte receptora se comunicando com a parte principal do aplicativo.
O que acontece se o aplicativo tiver um ativoMapActivity
e depoisBroadcastReceiver
é invocado como resposta a um SMS recebido? É oMapActivity
suspenso enquanto oBroadcastReceiver
código é executado no mesmo processo? Se sim, é seguro paraBroadcastReceiver
para acessar oMapActivity
através de uma referência estática (que é definida pela atividadeonCreate
método?
Por outro lado, é um aplicativoBroadcastReceiver
executado em um processo separado e, portanto, precisaria de alguma outra maneira de se comunicar com a atividade do aplicativo?