0
내가 만든 SQLite 데이터베이스의 정보를 사용하여 알람을 설정하는 방법이 있습니다.설정 후 알람을 취소하는 방법은 무엇입니까?
public void scheduleItem(Long textId, Calendar when){
Intent i = new Intent(mContext, onAlarmReceiver.class);
i.putExtra(DbAdapter.KEY_ROWID, textId);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
Log.e("SchedulerManager", "Task scheduled");
이제 보시는 것처럼 데이터베이스에 응답합니다. 이제 데이터베이스의 항목이 사용자에 의해 삭제됩니다. 삭제 된 항목에 대해 알람이 설정되도록하지는 않습니다.
어떻게 내 scheduleItem() 메서드에서 매개 변수로 사용되는 Long textId를 사용하여 알람을 되 찾을 수 있습니까?
편집 : 방금 현재 보류중인 의도를 취소하기 위해이 방법을 만들었습니다.
어쩌면 이렇게 할 수 있습니다. http://developer.android.com/reference/android/app/AlarmManager.html#cancel(android.app.PendingIntent)
당신이 알람 매니저 전에 잘 살고있는 같은 PendingIntent와 :
public void cancelAlarm(Long textId){
Intent g = new Intent(mContext, onAlarmReceiver.class);
g.putExtra(SmsDbAdapter.KEY_ROWID, textId);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, g, 0);
mAlarmManager.cancel(pi);
}
도움 주셔서 감사합니다 –