【发布时间】:2016-04-27 20:06:50
【问题描述】:
我想设置和取消特定时间的闹钟。我正在使用以下代码使用 TimePicker 做同样的事情。
public void setRecurringAlarm(int randomTimer,long mills, int i){
Intent intent = new Intent(CreateAlarmActivity.this, AlarmReceiver.class);
intent.setData(Uri.parse("timer:" + i));
PendingIntent pendingIntent = PendingIntent.getBroadcast(CreateAlarmActivity.this, 1253, intent, PendingIntent.FLAG_CANCEL_CURRENT| Intent.FILL_IN_DATA);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,mills,
pendingIntent);
Toast.makeText(CreateAlarmActivity.this, "Alarm "+i+" isSet", Toast.LENGTH_LONG).show();
}
注意:-假设我将闹钟设置为晚上 10:00。它在晚上 10:00 工作正常。但是当我再次运行相同的代码时(晚上 10 点之后),即一旦设置闹钟的时间过去了,我回忆起那个代码(重置闹钟),它立即开始运行。为什么会这样?我无法找到我错的地方。
【问题讨论】:
标签: android alarmmanager android-pendingintent