Autore Topic: Chiusura app e servizi  (Letto 914 volte)

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Chiusura app e servizi
« il: 06 Settembre 2010, 16:40:15 CEST »
0
Sto provando ad utilizzare i servizi di android, nel mio caso per tenere traccia della posizione GPS dell'utente.
La mia attuale implementazione usa un servizio che esegue un thread di background che implementa il LocationListener con un MVC che tiene traccia della posizione GPS. La posizione mi serve in più activity, quindi l'utente può passare da un activity A ad un activity B, lasciano il servizio sempre attivo.

Come da manuale... se l'utente esce dall'app premendo il tasto back il servizio rimane attivo e continuo ad ottenere aggiornamenti GPS, il che mi torna.

Ora mi chiedo, c'è un modo per interrompere il servizio all'uscita dell'app o devo prevedere un tasto "Exit" per un'uscita esplicita?

vincenzodicicco

  • Visitatore
Re:Chiusura app e servizi
« Risposta #1 il: 06 Settembre 2010, 16:44:33 CEST »
0
Non puoi implementare il codice che metteresti nel tasto exit all'interno di un listener per il tasto back?

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Chiusura app e servizi
« Risposta #2 il: 06 Settembre 2010, 17:13:14 CEST »
0
si teoricamente potrei, però a me serve che nella maggior parte dei casi il back abbia il suo comportamento di default. Solo quando effettivamente ho una sola activity nello stack vorrei poter terminare il servizio, in caso contrario vorrei poter navigare nella history delle activity.

vincenzodicicco

  • Visitatore
Re:Chiusura app e servizi
« Risposta #3 il: 06 Settembre 2010, 17:26:41 CEST »
0
Bho ci provo di nuovo  :-) se con una classe comune ad activity e servizio, magari un singleton, tieni traccia delle activity chiuse ecc, e alla pressione del tasto back riesci a capire se devi solo chiudere l'activity ho se chiudere anche il servizio??.

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Chiusura app e servizi
« Risposta #4 il: 06 Settembre 2010, 17:34:06 CEST »
0
anche! avevo pensato ad una cosa simile... basterebbe un counter che se è >0 sta a significare che devo navigare nella history, se = 0 vuol dire che devo terminare il service. Non è una soluzione pulitissima però... :)

vediamo se qualcuno mi illumina in altro modo, grazie lo stesso per le proposte ;)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • 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:Chiusura app e servizi
« Risposta #5 il: 06 Settembre 2010, 18:30:27 CEST »
0
prova a dare un occhiata a questo metodo, verifica se l'activity è la root:
Activity | Android Developers

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Chiusura app e servizi
« Risposta #6 il: 06 Settembre 2010, 18:40:36 CEST »
0
mmm... potrebbe fare al caso mio, domani provo e vi so dire, grazie  ;-)