2013-09-23 18 views
16

Ho problemi a finire l'attività prima. Voglio iniziare un'altra attività e terminare l'attività corrente. Quando ho usato finish non ha chiuso l'attività corrente.Come terminare Attività quando si avvia un'altra attività in Android?

Come posso uscire dall'attività in precedenza?

+0

intenti intento = new intenti (a.Questa, B.class); startActivity (intento); finish(); –

+0

Intendi dire che non vi è alcuna possibilità che le due attività siano in esecuzione allo stesso tempo, sembra che tu abbia bisogno di una terza parte per avviare la seconda attività se la prima è morta. Se è così probabilmente avrai bisogno di un qualche tipo di servizio con un timer di sorta. – MikeIsrael

+0

finirà() portare l'attività direttamente su onDestroy() da onResume()? –

risposta

67

È necessario intent l'attuale context in un'altra attività prima con startActivity. Dopodiché puoi finish il tuo attuale activity da dove reindirizza.

Intent intent = new Intent(this, FirstActivity.class);// New activity 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
finish(); // Call once you redirect to another activity 
+0

Grazie .. Molto utile e successo .. – mrhands

+0

perchè usiamo FLAG_ACTIVITY_CLEAR_TOP @vikalp patel ?? –

+5

Si assicura che non sia possibile tornare all'attività precedente con il pulsante INDIETRO. – erdomester

0

Per esempio: si sta utilizzando due attività, se si vuole passare da Activity A a B Attività

Basta dare in questo modo.

  Intent intent = new Intent(A.this, B.class); 
     startActivity(intent); 
     finish(); 
3
Intent i = new Intent(this,Here is your first activity.Class); 
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 
    finish(); 
1
  1. Fai la tua attività A nel file manifesto: launchMode = "singleInstance"
  2. Quando l'utente fa clic nuova, fare FirstActivity.fa.finish(); e chiamare il nuovo Intent.
  3. Quando l'utente modificano, nomina il nuovo intenti o semplicemente terminare attività B.
0
startActivity(new Intent(context, ListofProducts.class) 
    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 
    .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)); 
+0

Posso chiederti di aggiungere qualche altro contesto attorno alla tua risposta. Le risposte al solo codice sono difficili da capire. Aiuterà il richiedente e i futuri lettori sia se puoi aggiungere ulteriori informazioni nel tuo post. – RBT

Problemi correlati