可更新内容不可更新
问题描述:
我有一个JSON消息被发送到我的第一个Android应用程序中的监听服务(读取:pelase be gentle!),它映射到实现Parcelable的对象。反序列化的对象用于显示通知,其目的是启动另一个在布局中显示完整数据的活动。可更新内容不可更新
使用反序列化的对象,我可以在通知中显示信息而没有问题。在该通知中的代码启动次要活动:
Intent intent = new Intent(this, SecondaryActivity.class);
intent.putExtra("objData", myObj);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setContentTitle(myObj.getTitle())
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(myObj.getAbstract()))
.setContentText(myObj.getAbstract());
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
在SecondaryActivity我解开包裹,像这样:
MyObject myObj = getIntent().getParcelableExtra("objData");
,并使用其数据来填充布局区域。
这对第一次通知很有效。在后续通知中,通知看起来正确,但发送到SecondaryActivity的可发放数据不会更新(内容与第一次通知相同)。
我假设我遗失了明显的阻止parcelable对象被更新的东西。你能帮我吗?
答
在创建挂起的意图,你可以尝试添加标志FLAG_CANCEL_CURRENT
或FLAG_UPDATE_CURRENT
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
+0
谢谢,这正是我需要的。 – k3davis
你可以张贴SecondaryActivity的代码?此外,只有当您已经打开SecondaryActivity并且您单击新通知时才会出现问题?或者当您单击SecondaryActivity打开的通知时您是否也会发生这种情况?您关闭该通知,新的通知将与新数据一起显示,然后您单击该通知,然后用旧数据打开旧的SecondaryActivity? – Aegis