原文地址:
http://wangzt-2008.iteye.com/blog/1143555
项目开发中遇到以下问题,需要在一个Activity中显示不同的消息类型,消息通过notification触发,代码如下:
- Intent intent = new Intent(context,
- NotificationDetailsActivity.class);
- intent.putExtra(PNConstants.NOTIFICATION_ID, notificationId);
- intent.putExtra(PNConstants.NOTIFICATION_TITLE, title);
- intent.putExtra(PNConstants.NOTIFICATION_MESSAGE, message);
- intent.putExtra(PNConstants.NOTIFICATION_LOGIN_URI, loginUri);
- intent.putExtra(PNConstants.NOTIFICATION_URI, uri);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
- intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
- intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
- intent, PendingIntent.FLAG_UPDATE_CURRENT);
- notification.setLatestEventInfo(context, title, message,
- contentIntent);
- notificationManager.notify(notificationId, notification);
如此,在接收多条不同类型的消息后,打开不同消息,进入消息详细页面NotificationDetailsActivity显示的始终是最后一条消息内容,而不是根据消息类型分类显示各分类的最后一条。
为解决此问题有两种方法,但是没有找到合理的解释,先记录如下,
方法1:为intent添加不同的Action
- intent.setAction(""+System.currentTimeMillis());
方法2:PendingIntent.getActivity的第二个参数设为消息类型notificationId,
- PendingIntent contentIntent = PendingIntent.getActivity(context, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
本文介绍了一种在Android应用中使用notification时遇到的问题,即在同一个Activity中显示不同消息类型时,点击不同消息总是跳转到最后一条消息的问题。文中提供了两种解决方案,并探讨了可能的原因。

922

被折叠的 条评论
为什么被折叠?



