我在设备 A 上运行 whatsapp(从现在开始我们可以称它为 appX)。我去管理应用程序 -> 强制关闭,所以 appX 被关闭,我不再将 appX 视为正在运行的服务。
现在,5 分钟后,我从另一台设备的 appX(设备 B)向设备 A appX(我们杀死它的那个)发送了一条消息。 以下是我测试的 2 个场景:
带有 android 2.1 的设备 A:它永远不会收到消息,因此我们可以说所有 appX 服务都没有重新启动。只有当用户手动重启应用时,它才会收到消息。
带有 android 2.3.6 的设备 A:出于某种神奇的原因,无论 appX 被杀死后多久,只要我们从设备 B 发送消息 -> 设备 A 就会收到消息,因此, appX 的服务重新启动。注意:在 appX 关闭并且没有收到任何通知的情况下,我无法在管理应用程序中看到任何正在运行的 appX 服务,因此这意味着这个神奇的服务会在收到消息/通知后立即重新启动
我知道这听起来很奇怪,很多人会说这是不可能的,但同样,这已经在这两种设备上进行了测试。
我正在尝试完成同样的行为,因此我们将不胜感激。
最佳答案
我认为这里发生的事情并不神奇!它只是 Android C2DM(参见:https://developers.google.com/android/c2dm/),而应用程序有一个注册的 Receiver
用于传入的推送通知并被此消息唤醒。
Android C2DM 是/曾经在 Android 2.2 中可用,这就是为什么在 Android 2.1 启动并运行的设备上看不到相同行为的原因。
顺便说一句:如您所见,C2DM 自 2012 年 6 月 26 日起已弃用。因此,应使用 GCM 代替 C2DM(参见:http://developer.android.com/guide/google/gcm/gs.html)
有用的评论:GCM 需要可用的互联网连接。通过此限制,您可以使用任何其他广播接收器,例如 SMSReceiver。
关于android - 即使我强制停止应用程序,whatsapp 服务如何重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237064/