我的 IntentService
中有一个 ArrayList
,我向其中添加了用户 Name 和 Message 等元素.
private ArrayList<ShoutData> shoutList = new ArrayList<>();
每次服务收到新通知时都会添加新的名称和消息。
ShoutData data = new ShoutData();
data.setName(name);
data.setShout(shout);
shoutList.add(data);
resultIntent.putParcelableArrayListExtra(SHOUT_ARRAY, shoutList);
因此,当单击通知时,它应该会导致一个 Activity ,我可以在其中检索整个ArrayList
(具有多个名称和消息)。但是,只有最后一个通知中的名称和消息最终会出现在 ArrayList 中。
我需要的是从我收到通知的用户那里获取所有名称和消息。我该如何解决这个问题?我认为问题在于每次新通知到来时都会重新创建 ArrayList 并且仅添加当前通知中的名称和消息(需要存储名称和消息直到通知被点击/Intent 被调用)。因此,元素不会一次性添加,而是在收到每个通知时逐一添加。顺便说一下pendingIntent:
PendingIntent.FLAG_UPDATE_CURRENT
如果需要任何其他代码,请评论。
最佳答案
这是可能的。您应该首先在内部创建数组。一些家庭 Activity
。
您还可以使用全局配置(您的数组)创建一些单例类并在 IntentService 中访问它。
关于java - 定期向ArrayList添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33510238/