Android Pending意图从通知开始不会替换最后一个

时间:2010-07-05 12:33:16

标签: android notifications android-pendingintent

我已经阅读了很多相同主题的帖子,并尝试了所有给定的解决方案,却没有得到我想要的结果。 程序应该从通知中添加额外的意图:

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

问题在于,当显示新通知时,添加到意图的附加内容与第一个通知中相同。我在意图和未决意图中都有不同的标志,没有结果。我错了什么? 如果我只是用一个按钮启动相同的活动(和相同的附加功能),一切都按预期工作。

3 个答案:

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