Premendo il pulsante Indietro, vorrei che la mia applicazione passasse allo stato di arresto, anziché a quello distrutto.
Nei documenti Android afferma:
... non tutte le attività hanno il comportamento di essere distrutte quando si preme BACK. Quando l'utente inizia a riprodurre musica nell'applicazione Musica e quindi preme INDIETRO, l'applicazione ignora il normale comportamento all'indietro, impedendo che l'attività del giocatore venga distrutta e continua a riprodurre musica, anche se la sua attività non è più visibile
Come posso replicare questa funzionalità nella mia applicazione?
Penso che ci debbano essere tre possibilità ...
Cattura il pulsante Indietro premi (come sotto) e poi chiama qualunque metodo (i) il pulsante Home chiama.
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { Log.d(this.getClass().getName(), "back button pressed"); } return super.onKeyDown(keyCode, event); }
Cattura il pulsante Indietro, quindi falsa la pressione di un pulsante Home.
Cattura il pulsante Indietro, quindi avvia un'attività della schermata principale, ponendo efficacemente l'attività della mia applicazione nello stato di arresto.
Modifica: conosco i servizi e ne sto usando uno nell'applicazione a cui questo problema è correlato. Questa domanda riguarda in particolare il passaggio dell'attività allo stato di arresto anziché allo stato distrutto quando si preme il pulsante Indietro.