11

我已经阅读了许多关于同一主题的帖子,并尝试了所有给定的解决方案,但没有得到我想要的结果。该程序应该从通知的附加内容开始一个意图:

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

问题是当显示新通知时,添加到意图的附加内容与第一个通知中的相同。我在意图和待定意图中都使用了不同的标志,但没有结果。我怎么了?如果我只是用一个按钮启动相同的活动(和相同的附加功能),一切都会按预期进行。

4

3 回答 3

10

我不知道为什么我在让它工作时遇到这样的问题。我用来让它正常工作的标志组合是:

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 
                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);

我还删除了创建notificationIntent.

于 2010-07-06T00:43:47.743 回答
5

尝试在 AndroidManifest.xml 文件中添加一个属性:

<activity ... android:launchMode="singleTop"/>
于 2011-07-23T21:07:26.363 回答
0

尝试为每个设置请求代码,PendingIntent它将起作用

PendingIntent pendingIntent = PendingIntent.getActivity(this, RandomInt, intent,
                PendingIntent.FLAG_ONE_SHOT);
于 2018-01-17T12:53:12.000 回答