GCM - 从通知中打开应用程序?

时间:2016-05-27 13:05:51

标签: android push-notification google-cloud-messaging

我正在开发一个使用GCM进行推送通知的应用。

我的问题是如何在用户点击通知时打开/启动应用。 我有两种可能的情况:

A)应用程序是开放的,并且驻留在前台或后台,无论我的GCM工作正常,GCM消息到达用户点击通知和意图启动相关活动(通过通知待定意图传递)。

B)关闭应用程序并收到通知,用户再次点击通知,意图尝试启动相关活动,这就是它变得混乱的地方。 该应用程序有一个后端,所以现在需要自动登录/验证如果我尝试启动相同的活动,凭据等已过期或不存在因此应用程序崩溃。在这种情况下,我需要从头开始启动应用程序,而不是简单地通过pending-intent启动特定活动。

因此,我的问题是如何告诉GCM监听器检查应用程序是否正在运行,如果是,只是启动活动,如果没有(app已关闭)正常启动应用程序?

感谢。

1 个答案:

答案 0 :(得分:0)

好的解决了这个问题,不确定它是否是最佳方式,但似乎没有问题。

我最终做的是在启动器活动中创建一个静态布尔变量。 这在应用程序启动时设置为true,并且GCM侦听器在传入的GCM notif上测试此变量状态(在应用程序实例的生命周期中将始终为true),如果为true则直接转到其他活动(app closed或stale)启动应用程序。

从我能看到的情况来看,这似乎工作得很好,仍然对更好的方法感兴趣,因为这看起来似乎是hackish?