Autore Topic: Service e CountDownTimer  (Letto 645 volte)

Offline gigi

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Gentoo
Service e CountDownTimer
« il: 13 Febbraio 2011, 18:24:42 CET »
0
Ciao a tutti.

Mi succede una cosa un po' strana: ho necessità di effettuare delle operazioni periodiche all'interno di un Service, quindi ho impostato un CountDownTimer (creato all'interno del Service e che richiama un metodo del Service). Succede però che quando l'Activity della stessa applicazione non è in primo piano il CountDownTimer non scatta... o meglio, alle volte scatta e alle volte no.

Idee? oppure... qual è il modo corretto di schedulare azioni periodiche all'interno di un Service?

grazie del supporto!
« Ultima modifica: 13 Febbraio 2011, 18:28:57 CET da gigi »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Service e CountDownTimer
« Risposta #1 il: 14 Febbraio 2011, 11:27:38 CET »
0
Io ho una cosa del genere per controllare periodicamente se un socket è connesso o meno utilizzando la classe TimerTask. Ti incollo il mio codice:
Codice (Java): [Seleziona]
    private final TimerTask asyncConnectionThreadCheck = new TimerTask() {

        @Override
        public void run() {
          //Codice che vuoi che sia eseguito
        }
    };

    public void startAsyncConnectionThreadTimer() {
        mAsyncConnectionThreadCheckTimer = new Timer();
        mAsyncConnectionThreadCheckTimer.scheduleAtFixedRate(asyncConnectionThreadCheck, 0,
                Configuration.ASYNC_CONNECTION_THREAD_RETRY_TIME);
    }

Fai riferimento a questo metodo:

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Timer.html#scheduleAtFixedRate(java.util.TimerTask, long, long)