当前位置: 首页 > 知识库问答 >
问题:

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

姜景焕
2023-03-14

我正在开发一个应用程序,它使用GCM进行推送通知。

我的问题是关于如何从用户单击通知时打开/启动应用程序。我有两种潜在的情况:

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

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

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

谢谢。

共有1个答案

艾鹭洋
2023-03-14

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

我最终要做的是在启动器活动中创建一个静态布尔变量。当应用启动时,如果为 true,则当应用启动时,如果为 true,则 GCM 侦听器在传入的 GCM 通知上测试此变量状态(对于应用实例的生存期始终为 true),则直接转到其他活动(应用已关闭或过时)启动应用。

这似乎工作正常,从我所看到的,仍然有兴趣在一个更好的方法,因为这似乎hackish?

 类似资料:
  • 我正在使用Firebase(FCM)向用户显示推送通知,但我遇到了一个奇怪的问题。 我的代码适用于以下场景(使用FirebaseMessagingService): 前台应用 - 在 onReceive() 中接收数据并在应用内显示弹出窗口。 后台应用 - 在 onReceive() 中接收数据并为用户显示通知。如果单击此按钮,应用程序将被带回前台。在LauncherActivity中收到此目的的

  • 在通知部分,我有这个通知不打开APP的问题。有什么建议吗?我试了很多可能性,但没有...我错在哪里?请帮帮我。

  • 我的应用程序的通知工作良好,在后台和前台接收通知,使用Firebase原生插件。现在,我的客户端需要在收到通知时打开应用程序,而不需要任何用户迭代。 我找到了这个,但没有正确的答案。 在调试中,我意识到通知是通过FireBaseInstanceIDReceiver广播接收的。所以,我试过: 修改 plugins/cordova-plugin-firebase-lib/plugin.xml 我的问题

  • 我已经创建了一个Windows Phone 8.1应用程序,它可以将吐司通知发送到Windows Phone的操作中心。现在我需要在用户点击toast通知时打开另一个应用程序。我怎样才能实现这个..?我可以打开创建toast通知的同一个应用程序。我怎么才能打开另一个我指定的应用程序...?

  • 如果应用程序未运行,GCMinentService(扩展GCMBasEventService)不会收到通知。 来自:http://developer.android.com/about/versions/android-3.1.html 已停止应用程序上的启动控制请注意,系统会将标志\u排除\u已停止\u包添加到所有广播意图中。它这样做是为了防止来自后台服务的广播无意或不必要地启动已停止应用程序的

  • 我知道我可以设置click_action,但这只是为了定制哪些活动将在通知点击时启动,我需要一些将在通知收到时自动启动的东西。 我尝试了quick start messaging firebase示例,其中有一个onMessageReceived()方法,但它仅在应用程序处于前台时才起作用。是否有一些东西将执行同时应用程序在后台?GCM可以通过直接从接收到通知时调用的广播接收器启动活动意图来完成我