我已经阅读了很多相同主题的帖子,并尝试了所有给定的解决方案,却没有得到我想要的结果。 程序应该从通知中添加额外的意图:
NotificationManager mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(context, myActivity.class);
notificationIntent.putExtra("someData", data);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(ID, notification);
问题在于,当显示新通知时,添加到意图的附加内容与第一个通知中相同。我在意图和未决意图中都有不同的标志,没有结果。我错了什么? 如果我只是用一个按钮启动相同的活动(和相同的附加功能),一切都按预期工作。
答案 0 :(得分:10)
我不知道为什么我有这样的问题让这个工作。我用来使其正常工作的标志组合是:
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);
我还删除了创建notificationIntent
时使用的所有标志。
答案 1 :(得分:5)
尝试在AndroidManifest.xml文件中添加属性:
<activity ... android:launchMode="singleTop"/>
答案 2 :(得分:0)
尝试为每个PendingIntent
设置请求代码,它将起作用
PendingIntent pendingIntent = PendingIntent.getActivity(this, RandomInt, intent,
PendingIntent.FLAG_ONE_SHOT);