Autore Topic: Chiusura app e servizi  (Letto 210 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?

Offline vincenzodicicco

  • Utente junior
  • **
  • Post: 148
  • Respect: +16
    • diciccovincenzo
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Microsoft Windows 7
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?
Promesse e scommesse.Non rispettate le prime perse le seconde. [Io Uccido-G.Faletti]

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.

Offline vincenzodicicco

  • Utente junior
  • **
  • Post: 148
  • Respect: +16
    • diciccovincenzo
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Microsoft Windows 7
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??.
Promesse e scommesse.Non rispettate le prime perse le seconde. [Io Uccido-G.Faletti]

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: 719
  • Respect: +169
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Nexus One - Wildfire - Magic
  • Market Developer Name:
    egsolutions
  • Sistema operativo:
    Ubuntu 10.10, 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
Why?

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  ;-)