我正在使用GCM创建聊天应用。
应用程序从MainActivity开始,用户输入用户名并注册用户,在Web服务器和SharedPreferences中保存gcm信息(名称和设备ID),然后在MainActivity中加载用户列表。我单击列表中的用户,使用extras(myname,他的名字,他的设备ID)打开ChatActivity。我从他那里得到一个消息,我收到一个有未决意图的通知,广播接收器更新聊天时间线,如果我点击通知它打开ChatActivity与更新的聊天时间表,一切都运行良好。
当应用关闭并收到通知时,会出现问题。当我点击通知时,我的应用程序会为该特定用户打开ChatActivity,并使用新消息填充聊天时间表。
正在发生的事情是ChatActivity已加载,但由于它已关闭,因此没有通过注册,因此它不知道活跃用户是谁,也不会加载新消息。
解决此问题的最佳方法是什么?
答案 0 :(得分:0)
在通知的意图(包含在PendingIntent中的那个)中,在MainActivity中单击列表中的用户时,将您放入Intent的相同Extras放入。鉴于您在创建通知时可以获得此信息