내가 설정을 가지고 알람 관리기를 취소하는 방법 : 다음과 같이 알람 관리기
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());
}
I에 유래에 대한 답변을 많이 읽었지만 여전히 문제가 무엇을 알아낼 수 없었다.
미리 감사드립니다.
누군가가 이미 추가 데이터 키 (시작의 RecordLength)?'intent.putExtra (Utils.KEY_RECORD_TIME,의 RecordLength) 반전 언급 ; intent.putExtra (Utils.KEY_REC_START_TIME, 시작); 'vs.'intent.putExtra (Utils.KEY_RECORD_TIME, start); intent.putExtra (Utils.KEY_REC_START_TIME, recordLength); - 필터링 문제가 발생하지 않아야합니다 ... – Johannes