android聊天应用程序(Watsapp, Hangouts, Facebook Messenger等)如何接收消息,



我正在尝试使用web-socket实现Android聊天应用程序。我使用Android服务连接到web套接字服务器。它工作正常,但是当我在任务管理器

中手动强制停止服务(不是应用程序)时

(设置->应用程序->运行)

那么我的应用程序没有从服务器接收任何消息。我从其他聊天应用程序中观察到的是,即使我停止了这些应用程序的后台服务,它们也会接收消息,并且在一段时间后服务也会自动启动。这怎么可能?是否存在其他唤醒主应用程序线程的隐藏服务?

可以在每次强制停止时强制启动服务

看一下这个(如何自动重启一个服务,即使用户强制关闭它?)

这些应用程序大多使用推送服务,如Google Cloud Messaging。

持续轮询服务器或维护持久的web套接字不是一种从服务器接收消息的资源友好型方法。

据我所知,他们没有特殊的方法来做到这一点。他们可能有方便的"变通办法"(例如,Facebook Messenger可以唤醒FB应用程序,如果你安装并只关闭其中一个)。

从Android 3.1开始,应用程序不能唤醒自己,GCM也不能唤醒它。android 3.1的GCM推送通知:禁用广播接收器

CommonsWare通常知道自己在说什么。另外,我已经测试过了,它在3.1+ api上不适合我。

相关内容

  • 没有找到相关文章

最新更新