Atualmente, tenho uma Atividade que, quando exibida, uma Notificação também será exibida na barra de Notificações.
Isso ocorre para que, quando o Usuário pressionar a tecla Início e a Atividade for empurrada para segundo plano, eles possam voltar à Atividade por meio da Notificação.
O problema surge quando um usuário pressiona o botão Voltar, minha Atividade é destruída, mas a Notificação permanece como eu quero que o usuário possa retornar, mas ainda pode acessar a Atividade por meio da Notificação. Mas quando um USUÁRIO tenta isso, recebo Null Pointers como uma tentativa de iniciar uma nova atividade em vez de trazer de volta a antiga.
Então, basicamente, quero que o botão Voltar atue exatamente da mesma forma que o botão Início e aqui está como tentei até agora:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
No entanto, o código acima ainda parece permitir que minha Atividade seja destruída. Como posso impedir que minha Atividade seja destruída quando o botão Voltar é pressionado?
, the
<` deve se tornar um >
.