Autore Topic: Service  (Letto 665 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
« il: 15 Settembre 2011, 22:36:36 CEST »
0
Ho un service che ogni 10 minuti compie un operazione sul database dopo di che lo chiudo per farlo ripartire nuovamente dopo 45 minuti. Per stopparlo dopo 10 minuti ho utilizzato un Timer e lo stopSelf() mentre per farlo ripartire questo codice nel onDestroy

Codice (Java): [Seleziona]
@Override
public void onDestroy() {
    super.onDestroy();
    Intent intent_service = new Intent(context,vampireService.class);
    PendingIntent pintent = PendingIntent.getService(context, 0, intent_service,0);
    AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarm.set(AlarmManager.ELAPSED_REALTIME,SystemClock.elapsedRealtime()+ 2700000, pintent);
}


il fatto è che quando il telefono è in modalità sleep sembra che il service non riparta perchè il conteggio dei minuti inizia quando riaccendo il display, penso dipenda dall'ELAPSED_REALTIME però ho provato ad usare anche ELAPSED_REALTIME_WAKEUP ma non cambia nulla. E' possibile che non esiste un modo per far ripartire un service anche se il telefono è in sleep mode ? Conoscete un modo per ovviare al problema ?
Grazie