Android: tüm Pendingİntents AlarmManager ile hazırlanın
Böyle bir alarm ayarlıyorum:
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingEvent);
Önceden ayarlanmış, bunları temizlemek nerede tüm alarmlar çıkarma ilgileniyorum.
Beni bu ya da şu anda bunları el ile silin böylece ayarlanan tüm alarmları almak için yapmak için bir yolu var mı ?
CEVAP
Gönderme tutmak zorunda değilsin. Sadece yeni bir Pendingİntent tanımlamak tam olarak bunu oluştururken tanımladığınız gibi.
Örneğin:
bir Pendingİntent böyle AlarmManager ateş için yarattım:
Intent alarmIntent = new (getApplicationContext(), AlarmBroadcastReceiver.class);
alarmIntent.setData(Uri.parse("custom://" alarm.ID));
alarmIntent.setAction(String.valueOf(alarm.ID));
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent displayIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, alarmIntent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDateTime, displayIntent);
Bir yerlerde başka bir kod (hatta başka bir aktivite) bunu iptal etmek için ne yapabilirim o zaman:
Intent alarmIntent = new (getApplicationContext(), AlarmBroadcastReceiver.class);
alarmIntent.setData(Uri.parse("custom://" alarm.ID));
alarmIntent.setAction(String.valueOf(alarm.ID));
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent displayIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, alarmIntent, 0);
alarmManager.cancel(displayIntent);
Buradaki önemli şey, tam olarak aynı veri ve eylem, ve diğer kriterler ile Pendingİntent yanı sıra Burada http://developer.android.com/reference/android/app/AlarmManager.html#cancel(android.app.PendingIntent) belirtilmiştir
AlarmManager listesinde aktif Pendingİ...
Android AlarmManager - RTC_WAKEUP vs E...
Android AlarmManager...
Android dex oluştururken bir BufferOve...
Android Niyet URL Karşılık...