我有一个作为任务管理器的应用程序..用户添加任务,应用程序在他输入时通知他/她。当我只添加一个任务时工作正常..但是当我添加两个任务时,第一个不通知,第二个通知第一个数据。 示例..我添加了第一个任务,标题为Task1,描述了Desc1 On 11:05,我添加了第二个任务,标题为Task2,描述了Desc2 On 11:07 .. On 11:05没有任何反应..但是在11:07我收到了Task1的标题和描述Desc1的通知。 我有一个Task的自定义类。
public class Task {
String name,desc;
Date date;
Context context;
public Task(String name, String desc, Date date, Context context) {
this.name = name;
this.desc = desc;
this.date = date;
this.context = context;
startAlarm(date.getTime(), name, desc);
}
public String toString() {
return name + " : " + desc + " at " + date;
}
public void startAlarm(long when, String title, String descreption) {
AlarmManager alarmManager = (AlarmManager) context
.getSystemService(MainActivity.ALARM_SERVICE);
Intent intent = new Intent(context, BGService.class);
intent.putExtra("title", title);
intent.putExtra("descreption", descreption);
PendingIntent pendIntent = PendingIntent.getService(context,
0, intent, 0);
alarmManager.set(AlarmManager.RTC, when, pendIntent);
}
//// Getters And Setters Here ....
}
每当我创建新任务时都应该调用startAlarm方法。它会启动一个警报,该警报在通知时结束并显示通知。
但现在只显示最后一项任务..为什么? :S
谢谢:)
修改
我按照这个答案修正了它:
答案 0 :(得分:2)
来自AlarmManager.set的Android文档:
...如果已经为同一个IntentSender安排了警报,那么之前的警报将首先被取消...
您似乎只能设置一个闹钟并需要为多个闹钟创建变通办法,例如设置每X调用一次的服务以设置下一个警报。