Autore Topic: Service non aggiorna...  (Letto 566 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Service non aggiorna...
« il: 26 Marzo 2012, 11:39:39 CEST »
0
Prima di inziare a prendere a calci il telefono chiedo il vostro aiuto. Ho un service pe run servizio di chat che, dopo essere partito, controlla ogni 5 minuti se ci sono nuovi messaggi, facendo partire dall'onStartCommand() un Timer che raggiunti i 2 minuti lancia un thread per il controllo.

Tutto funziona bene però, non capisco per quale oscuro motivo, se il telefono va in standby e ci resta per anche soli 5 minuti,il controllo non funziona più e riprende solo dopo aver riacceso il telefono....è come se il timer ripartisse alla riaccensione dello schermo....come posso risolvere ?

Grazie

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Service non aggiorna...
« Risposta #1 il: 26 Marzo 2012, 13:18:33 CEST »
0
Te l'avevo detto che sarebbe stato meglio usare l'AlarmManager! ;)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #2 il: 26 Marzo 2012, 14:02:03 CEST »
0
Ciao Ricky, ho provato anche a far partire il Servizio con l'AlarmManger con opzione
Codice (Java): [Seleziona]
alarm.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(), pintent);
ma nada....ora provo a sostituire il Timer del Service con l'AlarmManager....speriamo bene...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Service non aggiorna...
« Risposta #3 il: 26 Marzo 2012, 14:04:30 CEST »
0
ma nada....ora provo a sostituire il Timer del Service con l'AlarmManager....speriamo bene...

Nono, devi schedulare l'alarm manager in modo tale che ti faccia partire il service! Quest'ultimo fa le sue operazioni e poi termina.

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #4 il: 26 Marzo 2012, 14:06:16 CEST »
0
Ma il service è sempre attivo lo vedo tra i processi....solo che non fa il suo lavoro! il mio service è sempre attivo termina solo quando si apre la chat e quando la si chiude riparte...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Service non aggiorna...
« Risposta #5 il: 26 Marzo 2012, 14:07:18 CEST »
+1
Ma il service è sempre attivo lo vedo tra i processi....solo che non fa il suo lavoro!

Ecco, io per prevenire questo e per non sprecare risorse lasciando il servizio attivo farei appunto in modo che l'AlarmManager lo fa partire ogni 5 minuti.

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #6 il: 26 Marzo 2012, 14:20:54 CEST »
0
Si hai ragione, infatti gli altri service li ho così e funzionano....vabbè allora dato che anche tu li usi in questo modo lo faccio come gli altri ;) Grazie!

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #7 il: 27 Marzo 2012, 07:31:29 CEST »
0
scusa ricky che tu sappia un service in esecuzione può essere modificato passandoli un nuovo intent oppure deve essere stoppato e riavviato?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #8 il: 27 Marzo 2012, 19:21:42 CEST »
0
scusa ricky che tu sappia un service in esecuzione può essere modificato passandoli un nuovo intent oppure deve essere stoppato e riavviato?
se tenti di riavviarlo lui riceve l'intent, se te la gestisci te la logica, puoi fare in modo di non farlo ripartire ma di "cambiare"
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Service non aggiorna...
« Risposta #9 il: 27 Marzo 2012, 21:11:45 CEST »
0
Ma in che modo non lo faccio ripartire ? se il servide è in secuzione e gli passo l'intent con startService(intent) dovrebbe solo "cambiare" giusto ?