这是问题:我显示通知很好,如果我发送 3 个通知,我能够看到所有 3 个通知。但是,无论我点击哪个通知或是否打开应用程序。它将始终执行最后一个通知的操作,并丢弃较旧的需求。
我希望它做的是在它/打开应用程序上,从最新的应用程序开始,然后继续使用旧的应用程序。
我必须只使用逻辑来处理这个问题吗? 或者有没有一种方法,比如使用我可以使用的待定意图?
我不一定需要代码来解决这个问题,只需解释如何处理这个问题就可以:)
问题出在这里:
PendingIntent resultPendingIntent =
PendingIntent.getActivity(mCtx, NOTIFICATION, intent, PendingIntent.FLAG_UPDATE_CURRENT);
检查您通过NOTIFICATION
requestCode
是否因每个PendingIntent
而异。
PendingIntent.FLAG_UPDATE_CURRENT
使用给定requestCode
的新Intent
更新PendingIntent
。
我认为,在您的情况下发生的事情是,您在PendingIntent.getActivity()
方法中为 requestCode
传递相同的值,这意味着您为所有 3 个Intents
提供相同的 id,并且由于您指定了一个标志PendingIntent.FLAG_UPDATE_CURRENT
,android 将使用上次提供的意图更新所有待处理意图的Intent
。
尝试为不同的PendingIntent
指定不同的requestCode
。我认为这应该可以为您解决问题。