我收到了一些带有 C2DM 的 json 消息,到目前为止这很好。从 C2DM 有效负载中提取 json 消息后,我创建了一个通知,用户单击该通知将打开一个活动,该活动将显示收到的消息。
第一次收到 C2DM 消息(例如,“test number 1”消息),通知被创建,当用户单击它时,活动成功启动,我可以看到消息“test number 1”。然后我发送第二条 C2DM 消息,文本为“测试号 2”,通知已创建,但是当我单击通知时,活动开始我看到“测试号 1”消息,而不是第二条消息。
我正在创建这样的通知:
public static void createMessageNotification(Context context, Message msg) {
int icon = R.drawable.ic_stat_notify_msg; // icon from resources
CharSequence tickerText = "You've got a new message"; // ticker-text
long when = System.currentTimeMillis(); // notification time
CharSequence contentTitle = "Service Message"; // message title
CharSequence contentText = "New message";
Intent notificationIntent = new Intent(Intent.ACTION_MAIN);
notificationIntent.setClass(context, MessageDetailsActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Bundle b = new Bundle();
b.putSerializable("message", msg);
notificationIntent.putExtras(b);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
notification.flags = Notification.FLAG_AUTO_CANCEL;
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(AppUtil.getNextPushIndexMessage(), notification);
}
MessageDetailsActivity.java 可以在这里找到:http: //pastebin.com/tmBK7rNH
我在日志中看到消息正确来自 C2DM 服务,带有新的数据和值,但我无法让 MessageDetailsActivity 显示新信息。
谢谢你