Attualmente ho un'attività che quando viene visualizzata una notifica verrà visualizzata anche nella barra di notifica.Android - Come sovrascrivere il pulsante "Indietro" in modo che non finisca() la mia attività?
Questo è così che quando l'utente preme a casa e l'attività viene spinta in background, è possibile tornare all'Attività tramite la notifica.
Il problema sorge quando preme un utente il pulsante indietro, la mia attività viene distrutta, ma la notifica rimane come voglio che l'utente sia in grado di premere di nuovo, ma ancora in grado di raggiungere l'attività tramite la notifica. Ma quando un utente cerca di farlo, ottengo che Null Pointers stia cercando di avviare una nuova attività piuttosto che riportare quella vecchia.
Quindi, in sostanza voglio il pulsante Indietro per agire esattamente lo stesso come il tasto Home e 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 di cui sopra sembra ancora consentire che la mia attività venga distrutta, come posso impedire che la mia attività venga distrutta quando si preme il pulsante Indietro?
C'è una domanda simile: http://stackoverflow.com/questions/2459848/android-prompt-user-to-save-changes- quando-back-button-è-pressato – aleung
risposta simile .. http://stackoverflow.com/questions/5914040/onbackpressed-to-hide-not-destroy-activity/23759328#23759328 – Nepster
anche io penso che si debba cambiare la vostra il codice a 'se (Integer.parseInt (android.os.Build.VERSION.SDK)> 5', il' < 'dovrebbe diventare un'> '. – SudoPlz