从通知

时间:2016-01-14 08:26:59

标签: android android-intent android-notifications

我正在使用GCM向我的Android应用程序发送推送通知,当用户点击通知时,应将它们带到应用程序中的指定视图(对于上下文:这是一个事件日志)。

我理解,在最简单的情况下,我只是在启动应用程序的意图中添加一些参数。

但是,我的应用程序在输入MainActivity时需要一些远程数据。正常启动应用程序时,它指向另一个活动,我们称之为AppStartActivity。它在下载必要数据时显示启动画面,并在准备就绪时启动MainActivity。

从通知启动应用程序时,必要的数据可能已准备好,也可能未准备好,具体取决于应用程序当前是否处于后台(如果尚未进行垃圾回收)。因此,我认为我必须在单击通知时启动AppStartActivity,然后以某种方式转发Intent参数,我不确定它是否正确。我已经就此提出了一些问题:

  • lauch AppStartActivity是否正确,以及稍后在MainActivity中需要的参数,然后在切换到MainActivity时转发它们?
  • 是否有更简单的方法可以执行此操作,例如在单击通知时查找应用程序的状态,然后根据是否有必要的数据选择AppStartActivity或MainActivity?我问的原因是,当我创建通知时,数据可能可用,也可能不可用,但它可能会在用户与通知交互之前的时间内发生变化。我知道我可以启动一个刚刚检查状态的新活动,然后启动MainActivity或AppStartAcitivty,但看起来它可能有点太复杂......

我很感谢有关此事的任何意见。如果我遗漏了一些细节,请告诉我。

1 个答案:

答案 0 :(得分:1)

据我了解,我有类似的情况,这是我的解决方案:

当我收到GCM时,我的onReceive方法启动了一项服务 获取远程数据。只有当这些数据是 在本地内容提供商中,我将通知发送给用户。

[编辑] 您必须通过一些通知来管理任何网络错误,否则您可能会丢失GCM通知