Em que casos o registo de um Broadcast Receiver no manifesto Android é proibido?
sobes.tech IA
Resposta da IA
O registo do Broadcast Receiver no manifesto do Android não é permitido nos seguintes casos:
-
Para eventos dinâmicos ou privados: Se o receptor deve responder apenas a eventos que ocorrem dentro da aplicação ou a eventos que não devem estar disponíveis para outras aplicações, é melhor registá-lo programaticamente (dinamicamente) através de
registerReceiver()no código. -
Para alguns eventos do sistema nas novas versões do Android: A partir do Android 8.0 (API 26), muitas mensagens de difusão do sistema (por exemplo,
ACTION_NEW_PICTURE,ACTION_NEW_SMS) não podem ser registadas no manifesto para reduzir a carga no sistema e melhorar a segurança. Nestes casos, os receptores devem ser registados dinamicamente. -
Se for necessário controlo do ciclo de vida: Registar no manifesto faz com que o receptor esteja ativo constantemente, o que pode levar a um consumo desnecessário de recursos. Se for necessário que o receptor funcione apenas em determinados momentos (por exemplo, quando uma atividade está ativa), o registo deve ser feito de forma dinâmica.
Assim, o registo no manifesto não é permitido ou não é eficiente para eventos que só devem ser processados quando a aplicação está ativa ou para eventos do sistema que são proibidos para registo estático nas novas versões do Android.