Autore Topic: Gestione lifecycle activity  (Letto 855 volte)

Offline Leonardo

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
Gestione lifecycle activity
« il: 15 Giugno 2011, 17:05:07 CEST »
0
Salve a tutti,
ho un problema nella gestione del lifecycle delle actvity nella mia application.
La mia applicazione è composta da un'activity principale (home) dalla quale partono al click di diversi button, delle actvity figlie.

Per far partire un'activity utilizzo
Codice (Java): [Seleziona]
startActivity(intent);
mentre per finire quelle figlie utilizzo
Codice (Java): [Seleziona]
finish();
il problema si pone quando io sto visualizzando un'activity figlia e premo il tasto home
A questo punto se io faccio ripartire l'applicazione dal task manager, l'activity riviene mostrata, ma alla pressione del tasto back
non ritorno alla mia home ma mi ritrovo nell'ambiente android, come se il sistema avesse cancellato tutta la storia delle activity.

Come faccio a gestire ll'evento della pressione del tatso Home?

Ringrazio tutti quelli che mi risponderanno.

Ciao

« Ultima modifica: 15 Giugno 2011, 17:26:10 CEST da Leonardo »

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Gestione lifecycle activity
« Risposta #1 il: 15 Giugno 2011, 19:25:10 CEST »
0
fai per caso un finish() dopo startActivity()?

Offline Leonardo

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
Re:Gestione lifecycle activity
« Risposta #2 il: 16 Giugno 2011, 09:10:56 CEST »
0
Ti ringrazio per la risposta,
io non faccio mai finish(), quando chiamo una nuova activity,
 lo faccio solo sul metodo onBackPressed(); per chiudere l'applicazione.

Grazie

Offline Leonardo

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
Re:Gestione lifecycle activity
« Risposta #3 il: 16 Giugno 2011, 10:09:15 CEST »
0
Spulciando il codice, mi sono accorto che le mie activity avevano l'attributo nel manifest:
Codice (XML): [Seleziona]
android:launchMode="singleInstance"se tolgo quello tutto il ciclo sembra funzionare.
Io avevo inserito quel flag per evitare che l'activity venisse aperta due volte, perchè in maniera randomica
qualche volta succedeva e non riuscivo a gestirla.
Visto che levando quel tag  l'app funziona mi inventerò un nuovo modo di controllare se già è attiva.

Grazie a Qlimax per l'aiuto

Ciao