Autore Topic: Chiudere applicazione  (Letto 2388 volte)

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Chiudere applicazione
« il: 20 Agosto 2012, 11:16:31 CEST »
0
Salve, sto sviluppando la mia prima applicazione android, ma come da titolo sto riscontrando problemi nel chiudere la mia app.
Premetto che ho letto vari post anche su questo sito, ma non ho trovato uno semplice e spiegato bene.
Partendo da un' applicazione con 3 activity, la terza con un button esci e quindi con un finish() chiude solo l'activity in uso e non tutta l'app.
Leggendo c'è chi dice che ad ogni intent inserire un finish() ma non va bene perchè se premo il tasto back si chiude l'applicazione e non posso tornare all'activity precedente.
Mi fate un esempio semplice e pratico? vedo che è un problema abbastanza comune.
Grazie.
UN BEL non si rifiuta mai !!!

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Re:Chiudere applicazione
« Risposta #1 il: 20 Agosto 2012, 11:25:17 CEST »
0
Guarda tecnicamente ci sarebbe il metodo statico
Codice: [Seleziona]
Application.close()
ma non so se sia corretto usarlo, anche perché non mi è mai capitato di vedere un'app con un pulsante "chiudi" alla terza activity.
Direi che la pratica comune (e anche gli utenti ci sono abituati) è premere continuamente indietro fino a far chiudere tutto, o al max quello che potresti fare è uno schema in cui alla pressione di questo tasto:
1)Chiami startActivity+Flag_reorder sull'activity precedente (il flag serve per non creare una nuova activity ma usare proprio quella) passando un valore booleano che vuol dire "spegniti".
2)Chiami finish per terminare l'activity corrente.
3)Nell'activity richiamata, se questa non è l'ultima ripeti da 1) altrimenti chiami finish.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Chiudere applicazione
« Risposta #2 il: 20 Agosto 2012, 11:26:48 CEST »
0
Diciamo che in generale non esiste un modo per "chiudere l'app". Qualcuno utilizza artifici come distruggere il process, ma non è consigliato.

Detto questo, la soluzione è strutturare l'app in modo che il problema non si ponga. E se dovesse essere proprio necessario, lancia le activity nella modalità che prevedere risposta (startactivityforresult) e quando il valore ritornato è quello che tu associ a "chiudi tutto", chiama finish. In questo modo tutte le activity aperte si chiuderanno a ritroso in cascata, emulando di fatto la chiusura dell'app.

edit: vedo che ha già risposto Phate
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Chiudere applicazione
« Risposta #3 il: 20 Agosto 2012, 12:29:22 CEST »
0
Guarda tecnicamente ci sarebbe il metodo statico
Codice: [Seleziona]
Application.close()
ma non so se sia corretto usarlo, anche perché non mi è mai capitato di vedere un'app con un pulsante "chiudi" alla terza activity.
Direi che la pratica comune (e anche gli utenti ci sono abituati) è premere continuamente indietro fino a far chiudere tutto, o al max quello che potresti fare è uno schema in cui alla pressione di questo tasto:
1)Chiami startActivity+Flag_reorder sull'activity precedente (il flag serve per non creare una nuova activity ma usare proprio quella) passando un valore booleano che vuol dire "spegniti".
2)Chiami finish per terminare l'activity corrente.
3)Nell'activity richiamata, se questa non è l'ultima ripeti da 1) altrimenti chiami finish.

Grazie per la velocità delle riasposte!!!
Premere continuamente indietro funziona ma a mio parere è scomodissimo per app con diverse activity.
Per i punti 1 e 2 mica potresti farmi un esempio con codice? Tipo al  onclick del button (esci) cosa dovrei scrivere?
tipo    così mi chiude l'activity in uso
Codice (Java): [Seleziona]
public void onClick(View v) { finish(); }
Grazie mille!!!
UN BEL non si rifiuta mai !!!

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Chiudere applicazione
« Risposta #4 il: 22 Agosto 2012, 10:51:47 CEST »
0
Qualcuno saprebbe indicarmi come si usa  startActivity+Flag_reorder o qualche altro metodo per chiudere la mia app?
Grazie.
UN BEL non si rifiuta mai !!!

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Chiudere applicazione
« Risposta #5 il: 22 Agosto 2012, 12:16:54 CEST »
0
Ci dovrebbe essere qualcosa di simile nell'area degli snippet code, vedi se é quel che cerchi!

Inviato dal mio GT-I9100 con Tapatalk 2

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:R: Chiudere applicazione
« Risposta #6 il: 22 Agosto 2012, 12:54:49 CEST »
0
Ci dovrebbe essere qualcosa di simile nell'area degli snippet code, vedi se é quel che cerchi!

Inviato dal mio GT-I9100 con Tapatalk 2

l'avevo già letto.

ho provato:
Codice (Java): [Seleziona]
                public void onClick(View v) {                  
                        android.os.Process.killProcess(android.os.Process.myPid());        
                }
e NON funziona, mi chiude solo l'activity corrente.
Poi leggo la soluzione di    Khali 
http://www.anddev.it/index.php/topic,412.15.html
ma è molto sul vago con startActivityForResult(...) poi il post muore li...
La mia domanda è questo è un forum di sviluppatori, possibile che la cosa più "stupida" cioè chiudere un app è così complicata?
C'è qualche anima buona ke posta un esempio pratico funzionante? che non sia finish() o android.os.Process.killProcess(android.os.Process.myPid());   ?
Grazie.
UN BEL non si rifiuta mai !!!

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Chiudere applicazione
« Risposta #7 il: 29 Agosto 2012, 15:58:25 CEST »
0
up!
UN BEL non si rifiuta mai !!!