1
我是新来android和java编程,我有一个应用程序,触发多个闹钟,并重复他们每一天。它工作正常,但我的问题是,当我删除它继续发射第二天的警报。他们告诉我使用方法取消和我创造了这个功能:如下取消闹钟
public void deleteReminder(Long reminderId){
Intent d = new Intent(mContext, Daily_OnAlarmReceiver.class);
d.putExtra(RemindersDbAdapter.KEY_ROWID_DAILY, (long)reminderId);
int Daily_requestCode = reminderId.intValue();
PendingIntent pid = PendingIntent.getBroadcast(mContext, Daily_requestCode, d, PendingIntent.FLAG_CANCEL_CURRENT);
mAlarmManager.cancel(pid);
}
我的设置提醒功能:
public void setReminder(Long reminderId, Calendar when) {
Intent i = new Intent(mContext, Daily_OnAlarmReceiver.class);
i.putExtra(RemindersDbAdapter.KEY_ROWID_DAILY, (long)reminderId);
int Daily_requestCode = reminderId.intValue();
PendingIntent pi = PendingIntent.getBroadcast(mContext, Daily_requestCode, i, PendingIntent.FLAG_CANCEL_CURRENT);
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);
}
两者都被放置在AlarmManager.java文件。
下面的代码是只从列表中删除报警另一个Java文件,但它不阻止系统发射报警:
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_delete:
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
mDbHelper.deleteDailyReminder(info.id);
fillData();
return true;
}
return super.onContextItemSelected(item);
}
我的问题是如何在以前的代码中调用这个new Daily_ReminderManager(this).deleteReminder(mRowId);
所以提醒将从列表中和警报管理器中删除。
,我想知道如果我的第一个代码是正确的
如何在我的情况下使用filterEquals? – zoza 2011-12-13 19:00:00