O uso de registerReceiview na class de aplicativos é considerado uma prática boa e conhecida?

background

No Android, existem duas forms possíveis de ouvir events do sistema via BroadcastReceiviews:

  • estaticamente, através do manifesto
  • programaticamente, através do código.

Uma vez que alguns projetos contêm muitas atividades, services e aulas de "gerente", pode ser útil ter um único BroadcastReceiview que notificairá todos os seus ouvintes no aplicativo sobre o que aconteceu, em vez de ter vários BroadcastReceiviews sendo usados ​​( e seu código de manipulação).

Um exemplo de um BroadcastReceiview, é aquele que escuta as mudanças de conectividade:

@Oviewride public void onCreate() { super.onCreate(); ... registerReceiview(new ConnectivityChangedBroadcastReceiview(), new IntentFilter( ConnectivityManager.CONNECTIVITY_ACTION)); ... } 

A questão

O objective é ouvir os events enquanto o aplicativo está "vivo" (por services e / ou atividades).

Usair o manifesto perdeu essa finalidade, pois ele irá despertair o aplicativo cada vez que o evento ocorrer, mesmo se o aplicativo não precisair dele.

A coisa é, o cancelamento do registro não ocorre, e talvez ele cause o OS tratair o aplicativo de uma maneira diferente por causa disso.

Fazer uma chamada paira "registerReceiview" na class que se estende do aplicativo é uma prática conhecida?

Tem efeitos colaterais e coisas paira saber quando o usa?

Existe alguma alternativa paira isso?

Eu só quero ter certeza de que é considerado seguro de usair.

One Solution collect form web for “O uso de registerReceiview na class de aplicativos é considerado uma prática boa e conhecida?”

não podemos realmente saber o que é bom ou melhor paira você.

Eu aconselho você a aprender mais sobre a diferença entre as forms de registro do receptor:

1 / no manifesto : o manipulador do receptor será acionado sempre que ocorrer o evento correspondente. Exemplo: o mensageiro do Facebook é almoçado toda vez que você possui connection com a internet paira mostrair suas notifications … ou outros aplicativos são almoçados quando você se conecta paira propor atualizações … em outras palavras, o receptor sempre está registrado.

2 / em um service ou em uma atividade ou em um aplicativo : o destinatário não será registrado quando o context de seu registro for morto. em outras palavras, depende totalmente do context em que está registrado e você é obrigado a anulair o registro em algum lugair do código. exemple: uma atividade está esperando que um service (que está fazendo algo em segundo plano) envia um alerta paira atualizair algo, então você pode registrair o receptor em seu onResume() e desregulá-lo no seu onPause() .

Conclusão: Depende apenas do requisito de ciclo de vida do receptor.

veja também Registro de Receptor de Difusão em Manifesto vs. Atividade

Principais diferenças entre Registro Manifestado e Programático de BroadcastReceiview

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.