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.

Foi útil?

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 ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top