Domanda

Questa è la struttura della mia applicazione:

Attività A è un ListViewActivity con un pulsante per avviare l'attività B.

Nell'attività B dopo aver completato un modulo è presente un pulsante per avviare l'attività C.

L'attività C Salva l'impostazione e crea un nuovo record da mostrare in un'attività.Il pulsante salva nell'attività C lancia l'attività A.

Se l'utente segue questa procedura più di una volta quando premere il pulsante Indietro dall'attività Attività ritorno sulla B (senza passare attraverso il C perché quando ho iniziato, impostato FLAG_ACTIVITY_NO_HISTORY) e la seconda volta premere indietroA di nuovo, e questo ripete il numero di tempo pari al numero di record creati.

Chiudi L'app con il pulsante Indietro è diventata un lungo processo.

Vorrei che il onBackPressed dall'attività è sempre chiudere sempre l'app.

L'inglese non è la mia lingua, spero di essere chiaro.

È stato utile?

Soluzione

Avvia sempre la tua attività a un simile

    Intent intent = new Intent(current_activity_context, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
.

Altri suggerimenti

Il metodo Finish () lo farà. Qualcosa come questo

Intent intent = new Intent(getApplicationContext(),
                Activity B.class);
        Activity A.this.startActivity(intent);

        finish();
.

You must override the OnBackPressed method

@Override
public void OnBackPressed(){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    super.onBackPressed();//Optional
 }

Hope it helps.

try this

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top