【发布时间】:2015-02-10 20:30:21
【问题描述】:
我正在使用 GCM 创建一个聊天应用程序。
应用程序从 MainActivity 开始,用户在那里输入用户名,我注册用户,将 gcm 信息(名称和设备 ID)保存在 Web 服务器和 SharedPreferences 中,然后我在 MainActivity 中加载用户列表。我单击列表中的用户,打开带有附加信息的 ChatActivity(我的姓名、他的姓名、他的设备 ID)。我从他那里收到一条消息,我收到一条带有待处理意图的通知,并且广播接收器更新了聊天时间线,如果我单击通知,它会打开带有更新的聊天时间线的 ChatActivity,一切正常。
当应用程序关闭并且我收到通知时会出现问题。当我点击通知时,我的应用会为该特定用户打开 ChatActivity 并使用新消息填充聊天时间线。
发生的情况是 ChatActivity 已加载,但由于它已关闭,它没有通过注册,因此它不知道活动用户是谁,也没有加载新消息。
解决此问题的最佳方法是什么?
【问题讨论】:
标签: android notifications broadcastreceiver google-cloud-messaging android-pendingintent