构建一个应用程序,用户在该应用程序中在特定日期和时间放置多个警报,并在时间到来时收到每个警报的通知。对于每个通知,都有一个不同的ID号。我的问题是,当我输入2个警报时,较新的警报会起作用,但较旧的警报会失败。这就像第二个警报杀死了第一个......根据一些教程和论坛,鉴于我使用了不应该发生的唯一ID,对吧?
以下是我的通知服务代码:
DataBase db = new DataBase(getApplicationContext());
String message = db.getTask(id);
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(this, MyActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, id, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new Notification(R.drawable.ic_launcher, "You have message", System.currentTimeMillis());
notification.setLatestEventInfo(this, "You 've got something to do", message, pendingIntent);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(id, notification);
}
数据库使用id来为每个通知获取正确的消息。它工作正常。所以,我认为id没有问题。有任何想法吗??我的清单文件有什么问题吗?
答案 0 :(得分:0)
对于可能遇到同样问题的人,我找到了解决方案。实际上问题出在我的警报管理器代码上。我没有将id设置为挂起意图中的参数,就像我在上面的代码中所做的那样。现在它工作正常。