Я имею установку alarmManager следующим образом:Как отменить AlarmManager
Intent intent = new Intent(TopActivity.this, RecordActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra(Utils.KEY_RECORD_TIME, recordLength);
intent.putExtra(Utils.KEY_REC_START_TIME, start);
saveTimeAndLength(start, recordLength);
PendingIntent pintent = PendingIntent.getActivity(TopActivity.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);
Ниже предполагается отменить его, но он всегда терпит неудачу. Что мне не хватает?
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(TopActivity.this, RecordActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra(Utils.KEY_RECORD_TIME, start);
intent.putExtra(Utils.KEY_REC_START_TIME, recordLength);
PendingIntent pintent = PendingIntent.getActivity(TopActivity.this, 0, intent, 0);
try {
alarmManager.cancel(pintent);
Log.e(TAG, "Cancelling all pending intents");
} catch (Exception e) {
Log.e(TAG, "AlarmManager update was not canceled. " + e.toString());
}
Я прочитал много ответов на StackOverflow, но до сих пор не мог понять, в чем проблема.
Заранее благодарим!
Кто-то уже упоминалось о том, что дополнительные ключи данных инвертируются (начало и Recordlength)? 'Intent.putExtra (Utils.KEY_RECORD_TIME, Recordlength) ; intent.putExtra (Utils.KEY_REC_START_TIME, начало); 'vs.' intent.putExtra (Utils.KEY_RECORD_TIME, начало); intent.putExtra (Utils.KEY_REC_START_TIME, recordLength); '- он не должен вызывать проблемы с фильтрацией, хотя ... – Johannes