问题描述:
最近在毕设项目中加入了自动获取日程中的城市名称并且自动查询日程日期,在两天内给用户发送通知的功能,由于测试是加入了多条日程,所以应该有多条通知来告知用户这些日程目的地的天气情况。但是在完成了逻辑编写之后,发现通知是由某一条日程发送的,而且只有一条。没有想象中的多个日程多个通知的情况。
为了解决这个问题,自习翻看了自己的通知工具类。参考了网上的资料发现,如果要发送多条通知,那么就要每一条通知设置不一样的ID。
if (Build.VERSION.SDK_INT>=26){
createNotificationChannel();
Notification notification = getChannelNotification(title, content).build();
getManager().notify(1,notification);
}else{
Notification notification = getNotification_25(title, content).build();
getManager().notify(1,notification);
}
这是之前的代码,如果 getManager().notify(ID,notification);ID改为不一样的就可以发送不一样的通知,这里为求简单。选择ID用随机数生成,代码改为:
int randomnum = (int) (Math.random() * 100);
if (Build.VERSION.SDK_INT>=26){
createNotificationChannel();
Notification notification = getChannelNotification(title, content).build();
/*随机产生id,可以发送多条通知*/
getManager().notify(randomnum,notification);
}else{
Notification notification = getNotification_25(title, content).build();
getManager().notify(randomnum,notification);
}