Capturando PRINCIPAL programaticamente intenção
-
19-09-2019 - |
Pergunta
Eu preciso da minha atividade a alça botão HOME de imprensa com um receptor de programação, mas o evento não está disparando. Eu posso, no entanto, cadastre-se com sucesso e capturar esse filtro intenção se eu declará-la em uma seção atividade manifest.xml. Aqui está o código para o receptor que não está funcionando:
BroadcastReceiver br;
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
return; // I put a breakpoint here to see if this gets called
}
};
IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(br, intf);
Alguém sabe por que isso não capturar o botão home do clique?
A propósito, eu tentei trabalhar em torno deste através da criação de uma outra atividade e especificando o seu filtro de intenção no manifesto. I definir a atividade enabled = "false" no manifesto, mas eu não conseguia descobrir como permitir que a atividade em tempo de execução. Bottom line, eu só quero registrar o filtro de intenção botão home para a minha aplicação apenas quando o meu aplicativo é executado, e eu não consigo descobrir como fazer isso.
Solução
Se você está tentando implementar uma tela inicial de substituição, é necessário o filtro Intent
estar no manifesto -. Ver o aplicativo Início da amostra no SDK
Se você está tentando bloquear a tecla HOME, por favor, não.
Outras dicas
Não deve nunca ser um caso em que você deve precisar substituir o botão home, ele está lá para se certificar de que o usuário sempre manter o controle sobre seu telefone. O que exatamente você está tentando fazer? Se você quiser detectar quando sua atividade não são mais visíveis, você deve substituir onStop ().