Whatsapp或Messenger等应用程序如何向用户发送警报/推送通知,让他们知道即使应用程序关闭或销毁,他们也收到了消息?
在我写这个问题之前,我做了一些研究。
- 此SO question建议使用服务和BroadcastReceiver。但BroadcastReceiver与设备何时启动有关,我无法想象服务是否会持续不断地运行以检查是否有人发送了消息(这太荒谬了!)。在任何情况下,ansewr给出的示例都没有显示服务将如何或何时停止运行。
- 这个SO question似乎暗示了一个AlarmManager,但该解决方案是非异步的(例如,通知时间必须预先设定)。
- 我已阅读Android的通知和服务文档。其中任何一个似乎都没有解决这一问题。
- 我在Google上找到的大多数问题似乎都是与应用程序如何从服务器(即GCM)接收推送通知而不是应用程序向用户发送推送通知/警报相关的问题。我目前认为这些问题无关紧要,因为我试图向用户发送通知而不是从服务器接收通知。