我正在开发一个 Cordova Android 应用程序,该应用程序使用 PushPlugin 处理推送通知。当应用程序打开时,应用程序将正确接收推送通知。但是,如果应用程序未打开,则不会收到(或至少处理)推送通知。
考虑到该插件具有专门处理接收推送通知的代码,这是有道理的。对我来说没有多大意义的是为什么这段代码存在。在构建这个应用程序之前,我假设操作系统有某种接收任何/所有通知的排队系统。
- Android 中是否存在通知队列来处理所有应用的推送通知,还是每个应用都需要自行处理通知。
- Android 应用在关闭时可以处理推送通知吗?
- Cordova Android 应用程序可以在关闭时处理推送通知吗?
最佳答案
在 Google Cloud Messaging(PushPlugin 使用的推送通知机制)中,每个应用程序决定如何处理通知。当推送通知到达设备时,GCM 会在接收方应用程序中触发 BroadcastReceiver,该应用程序负责处理通知数据。
Android 应用程序可以在关闭时处理推送通知,除非用户明确停止它们(在这种情况下,在用户再次重新启动应用程序之前,不会有任何通知到达应用程序)。如果用户切换到另一个应用程序或转到主屏幕而离开前台,它们仍然可以接收和处理通知。
是的。根据您发布的链接的 PushPlugin,似乎他们可以。当应用程序不在前台时,通知的处理方式有所不同 - 通知会添加到通知栏,当点击它时,它应该打开应用程序。
关于android - Android GCM 推送通知是如何处理的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21004336/