Interagir service e views

Boa tarde!

Galera to em um dilema e preciso da ajuda de vc’s, estou precisando fazer um service startar uma dialog independente da tela que ela esteja, porem não estou conseguindo já tentei um monte de coisa e não deu certo… eu sei que serviços não foram feitos para interagir com views mais esse é um caso especial no qual preciso notifica o usuario sobre um resultado especifico que o service achar e abrir essa dialog solicitando outra tela por isso tem que ser a dialog.

alguem já fez algo parecido?

NUNCA a camada de negócio deve interagir com a VIEW :smiley:

O que você precisar fazer, é testar o retorno do metodo, e dependendo do retorno, chamar outro método SE necessario.

Tem como você especificar melhor o fluxo que você quer fazer ? posta aqui que a gente te ajuda.

Depende das circunstancias dos aplicativo

O principal é saber se essa Dialog poderá aparecer enquanto sua activity não estiver na tela.

Caso sim, uma solução que vejo é criar um Broadcast receiver que recebe um broadcast do service, dele é criado uma activity e por sua vez a ativity lança a Dialog.
Caso contrário, você pode implementar um Messenger.

Então o fluxo é o seguinte: vai ter um serviço rodando coletando informações em segundo plano enquanto o usuário trabalha na aplicação, em uma determinada circunstancia se o gps por exemplo for desligado é exibida uma pop-up ao usuário informando que o gps está desativado e quando o usuário confirmar automaticamente é aberta a tela de configuração de gps, por isso precisa ser uma dialog, só que isso vai ser independente dá activity que o usuário está. Quando eu tento abrir uma dialog com o contexto da aplicação dá erro. o que seria esse Messeger?

Então, a Dialog precisa de Contexto de uma Activity para ser exibido… apenas notificações tipo toast e aquela da barrinha superior funcionam por contexto da aplicação (esqueci o nome técnico).

Messenger é um padrão de comunicação do android que utiliza um handler como “endereço” para enviar as mensagens, é meio chatinho de implementar mas muito eficiente, pricipalmente para comunicação Activity <-> Service.
Moar infos : http://developer.android.com/reference/android/os/Messenger.html

Possível solução que vejo após ler …

Criar um Broadcast receiver que recebe um broadcast do service, desse broadcast é iniciado uma activity SEM UI (sem utilizar o setContentView), desta activity disparar a Dialog e ao fechar finalizar o a activity e voltar foco para a anterior.

é uma solução teórica, pode ser que não dê certo também.

Edit: isso pode ser útil http://stackoverflow.com/questions/9751088/how-do-i-display-a-dialog-in-android-without-an-activity-context