使用广播接收器从pendingintent加载已关闭的应用程序

时间:2015-02-10 20:30:22

标签: android notifications broadcastreceiver google-cloud-messaging android-pendingintent

我正在使用GCM创建聊天应用。

应用程序从MainActivity开始,用户输入用户名并注册用户,在Web服务器和SharedPreferences中保存gcm信息(名称和设备ID),然后在MainActivity中加载用户列表。我单击列表中的用户,使用extras(myname,他的名字,他的设备ID)打开ChatActivity。我从他那里得到一个消息,我收到一个有未决意图的通知,广播接收器更新聊天时间线,如果我点击通知它打开ChatActivity与更新的聊天时间表,一切都运行良好。

当应用关闭并收到通知时,会出现问题。当我点击通知时,我的应用程序会为该特定用户打开ChatActivity,并使用新消息填充聊天时间表。

正在发生的事情是ChatActivity已加载,但由于它已关闭,因此没有通过注册,因此它不知道活跃用户是谁,也不会加载新消息。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

在通知的意图(包含在PendingIntent中的那个)中,在MainActivity中单击列表中的用户时,将您放入Intent的相同Extras放入。鉴于您在创建通知时可以获得此信息