Al momento ho un'attività che quando viene visualizzata verrà visualizzata anche una notifica nella barra delle notifiche.
In questo modo, quando l'utente preme home e l'attività viene spostata in background, può tornare all'attività tramite la notifica.
Il problema sorge quando un utente preme il pulsante Indietro, la mia attività viene distrutta ma la notifica rimane, poiché desidero che l'utente sia in grado di premere indietro, ma sia comunque in grado di accedere all'attività tramite la notifica. Ma quando un UTENTE ci prova, ottengo Null Pointers mentre cerca di avviare una nuova attività piuttosto che riportare quella vecchia.
Quindi essenzialmente voglio che il pulsante Indietro si comporti esattamente come il pulsante Home ed ecco come ho provato finora:
@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;
}
Tuttavia, il codice sopra riportato sembra ancora consentire la distruzione della mia attività. Come posso impedire la distruzione della mia attività quando si preme il pulsante Indietro?
, the
<` dovrebbe diventare un >
.