Android多个通知仅显示最后一个

时间:2014-07-23 10:15:51

标签: java android notifications

我正在创建一个通过FOR循环推送多个通知的通知系统。 Logcat显示我正在创建多个通知(手机甚至发送两个与每个铃声相对应的铃声)。但通知栏仅显示最后一个。 我阅读了文档,它说调用NotificationManager.notify采用唯一的Id,如果此Id存在,则通知将替换为新的。我为每个通知使用了一个唯一的GUID,但仍然没有成功。

notificationManager.notify(notification.getInt("id"), n);

我可以使用的任何建议吗?它可能是通知的PendingIntent部分吗?

提前致谢。

3 个答案:

答案 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);

请参考链接: Android: Managing Multiple Notifications

答案 2 :(得分:0)

请检查Pending Intent请求代码,该代码对于每个循环循环应该是唯一的。