English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Exemplo de simulação da função do botão HOME no Android

Este artigo exemplifica o método de simulação da função do botão Home no Android. Compartilho com vocês para referência, conforme a seguir:

Fazer um método semelhante ao pressionar o botão de retorno do QQ sem destruir o Activity (não chamar Activity.finish(), o sistema não chama onDestroy), mas semelhante ao pressionar o botão Home, fazer o Activity semelhante a 'pausar' (apenas chamar onPause, onDestroy).

O código está如下:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// Atenção
    intent.addCategory(Intent.CATEGORY_HOME);
    this.startActivity(intent);
    return true;
  {}
  return super.onKeyDown(keyCode, event);
{}

Atenção especial:intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Esta linha deve ser adicionada, porque o launchMode padrão do Activity é executed com o modo standard. Se não adicionar essa marca, será criado um novo Activity e colocado na mesma Task do Activity atual. A seguir está a descrição do FLAG_ACTIVITY_NEW_TASK: Marca FLAG_ACTIVITY_NEW_TASK

Quando o objeto Intent passado para startActivity() contém o sinal FLAG_ACTIVITY_NEW_TASK, o sistema procurará uma tarefa diferente da tarefa atual para a activity que precisa ser iniciada. Se a propriedade affinity da activity a ser iniciada for diferente de todas as propriedades affinity de todas as tarefas existentes, o sistema criará uma nova tarefa com aquela propriedade affinity e empurrará a activity a ser iniciada para a pilha da nova tarefa; caso contrário, a activity será empurrada para a pilha com a mesma propriedade affinity.

Leitores interessados em mais conteúdo sobre Android podem consultar as seções especiais deste site: 'Tutorial de Entrada e Avançado de Desenvolvimento Android', 'Coleção de Dicas de Depuração e Solução de Problemas Comuns Android', 'Coleção de Dicas de Operação de Multimídia Android (Áudio, Vídeo, Gravação, etc.)', 'Resumo de Uso dos Componentes Básicos Android', 'Resumo de Dicas de Uso das Visualizações Android', 'Resumo de Dicas de Uso dos Layouts Android' e 'Resumo de Uso dos Controles Android'.

Espero que o que é discutido neste artigo ajude os desenvolvedores Android.

Declaração: O conteúdo deste artigo é extraído da internet, pertence ao respectivo proprietário, o conteúdo é contribuído e carregado voluntariamente pelos usuários da internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie e-mail para: notice#w, fornecendo provas relevantes.3Declaração: O conteúdo deste artigo é extraído da internet, pertence ao respectivo proprietário, o conteúdo é contribuído e carregado voluntariamente pelos usuários da internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie e-mail para: notice#w, fornecendo provas relevantes. Apenas após a verificação, o site deletará o conteúdo suspeito de violação de direitos autorais.

Você pode gostar