Autore Topic: Problema alarmmanager  (Letto 541 volte)

Offline max246

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    G1
  • Play Store ID:
    Christian
Problema alarmmanager
« il: 20 Giugno 2011, 16:11:14 CEST »
0
Ho un problema di logica, ovvero la mia applicazione quando viene eseguita avvia una alarmmanager pr controllare ogni tot minuti se vi sono nuovi dati.
Se vi sono nuovi dati crea una notification, fino qui tutto va bene però  ho il dubbio che ogni volta che apro l'applicazione me ne crea uno in piu.
Il dubbio mi sorge perchè ogni volta che cerco di killare l'applicazione tramite il metodo "quit" che ho nella mia applicazione, riappare e devo chiuderlo quante volte ho fatto partire l'alarmmanager.

Il mio codice per alarm è
Codice: [Seleziona]
int al_timer = Integer.valueOf(prefs.getString("tm_intervallo", "60"));
            Calendar cal = Calendar.getInstance();
            cal.add(Calendar.SECOND, al_timer);

            intent2 = new Intent(getApplicationContext(), Update.class);
            sender = PendingIntent.getBroadcast(this, 0, intent2, PendingIntent.FLAG_UPDATE_CURRENT);
            am = (AlarmManager) getSystemService(ALARM_SERVICE);
            am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), al_timer * 1000, sender);
e per chiudere l'apps è

Codice: [Seleziona]
  am.cancel(sender);
                finish();
                android.os.Process.killProcess(android.os.Process.myPid());
                return true;

Penserei di passare a un servizio, cosa ne pensate?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema alarmmanager
« Risposta #1 il: 20 Giugno 2011, 16:12:35 CEST »
0
Usa le SharedPreferences per tenere traccia se l'hai già registrato o meno :)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Problema alarmmanager
« Risposta #2 il: 20 Giugno 2011, 16:27:07 CEST »
0
Ciao,
io ti consiglierei di usare un Handler con sendMessageDelayed ogni tot di tempo al posto del Alarmmanager. Quando chiudi l'app cancelli i messaggi in coda e rimuovi l'handler.

denper.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline max246

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    G1
  • Play Store ID:
    Christian
Re:Problema alarmmanager
« Risposta #3 il: 20 Giugno 2011, 16:45:16 CEST »
0
Ora provo con le preferences :)