我正在创建一个通过FOR循环推送多个通知的通知系统。 Logcat显示我正在创建多个通知(手机甚至发送两个与每个铃声相对应的铃声)。但通知栏仅显示最后一个。 我阅读了文档,它说调用NotificationManager.notify采用唯一的Id,如果此Id存在,则通知将替换为新的。我为每个通知使用了一个唯一的GUID,但仍然没有成功。
notificationManager.notify(notification.getInt("id"), n);
我可以使用的任何建议吗?它可能是通知的PendingIntent部分吗?
提前致谢。
答案 0 :(得分:5)
确保您使用的是唯一ID,因为您可以使用for循环整数i值代替notification.getInt(" id")。
例如:
for(int i = 1; i < 10; i++)
{
notificationManager.notify(i, n);
}
或者您可以在SharedPrefrence中保存一个整数值,并在for循环中定期递增,并使用相同的id。
答案 1 :(得分:1)
您必须制作新的意图,只需添加以下代码:
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
您还需要在通知中设置setFlag:
n.flags += Notification.FLAG_ONGOING_EVENT;
n.flags += Notification.FLAG_NO_CLEAR;
notificationManager.notify(notificationId, n);
答案 2 :(得分:0)
请检查Pending Intent请求代码,该代码对于每个循环循环应该是唯一的。