我的活动会产生一些通知。
以下是我目前在不同的resultIntents上的表现:
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
context,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
现在,由于标志是强制性的,我被迫从the four flags中选择。如果我希望所有这些内容独立工作,并且较新的通知不受前一个通知的影响,我该怎么办。
答案 0 :(得分:6)
这里找到了一个解决方案:here。
您对意图的setAction使用唯一值,这样就不会有匹配的PendingIntents
这是我使用的:
setAction(Long.toString(System.currentTimeMillis()))
答案 1 :(得分:2)
来自官方文档
如果您确实需要多个不同的PendingIntent对象同时处于活动状态(例如用作同时显示的两个通知),那么您需要确保关联它们的某些内容有所不同他们有不同的PendingIntents。这可能是Intent.filterEquals考虑的任何Intent属性,或者提供给getActivity(Context,int,Intent,int),getActivities(Context,int,Intent [],int),getBroadcast(Context,int)的不同请求代码整数。 ,Intent,int)或getService(Context,int,Intent,int)。
Intent.filterEquals
文档:
确定两个意图是否相同以进行意图解析(过滤)。也就是说,如果他们的行为,数据,类型,类别和类别是相同的。这不会比较意图中包含的任何额外数据。
如果您需要无限量的PendingIntents,我建议您使用Intent.setData
来获得某种独特的价值。如果您可以对其进行分组,请使用setType
或addCategory
来减少所需的唯一PendingIntents数量。