可更新内容不可更新

问题描述:

我有一个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对象被更新的东西。你能帮我吗?

+0

你可以张贴SecondaryActivity的代码?此外,只有当您已经打开SecondaryActivity并且您单击新通知时才会出现问题?或者当您单击SecondaryActivity打开的通知时您是否也会发生这种情况?您关闭该通知,新的通知将与新数据一起显示,然后您单击该通知,然后用旧数据打开旧的SecondaryActivity? – Aegis

在创建挂起的意图,你可以尝试添加标志FLAG_CANCEL_CURRENTFLAG_UPDATE_CURRENT

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); 

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
+0

谢谢,这正是我需要的。 – k3davis