Autore Topic: Cancellare Intent  (Letto 840 volte)

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Cancellare Intent
« il: 24 Giugno 2011, 13:00:44 CEST »
0
Salve,
scrivo perchè non riesco a capire come si faccia a cancellare un Pending Intent settato attraverso un AlarmManager.

So che esiste il metodo .cancel(PendingIntent) di AlarmManager ma non riesco ad usarlo.. Il frammento di codice che uso è il seguente
Codice: [Seleziona]
AlarmManager cancelAlarm = (AlarmManager) getApplication().getSystemService(Context.ALARM_SERVICE);

Intent cancelServiceIntent = new Intent(getApplicationContext(), alarmReceiver.class);
PendingIntent pendingUpdateIntent = PendingIntent.getService(getApplicationContext(), 0, cancelServiceIntent, this.getId());
try{
cancelAlarm.cancel(pendingUpdateIntent);
Log.i("Cancel", "allarme cancellato");
}catch (Exception e){
Log.e("Error Cancel", e.toString());                                                   
}
dove con this.getId() ottengo l'id dell'intent da cancellare.
Non mi scatta nessuna eccezione, ma l'allarme non viene rimossa.

Qualche consiglio?

Grazie :'(

Offline AndroidLab

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • http://it.linkedin.com/in/sandrotroncone
    • Mostra profilo
    • AndroidLab
Re:Cancellare Intent
« Risposta #1 il: 21 Luglio 2011, 09:59:26 CEST »
0
Prova:          pendingUpdateIntent.cancel();


Entra nell'AndroidLab!

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
Re:Cancellare Intent
« Risposta #2 il: 11 Aprile 2015, 22:02:19 CEST »
0
ciao
this.getId()   non ti da' l'id dei vari pending Intent

prova a fare così
Codice: [Seleziona]
intent.setData(Uri.parse("myalarms://" + AlarmID));
                             alarmIntent = PendingIntent.getBroadcast(this, 0 ,intent,PendingIntent.FLAG_UPDATE_CURRENT);