在后台保持永久连接(相同的LAN),而不使用GCM

时间:2013-04-23 13:22:40

标签: android google-cloud-messaging httpurlconnection

我需要在后台保持打开的连接,即使应用程序没有运行。无法使用GCM,因为连接将与服务器位于同一LAN中,并且设备可能没有可用的Internet连接。 连接将是某种本地Push,因此设备将不时获得一些短的相关数据(除了保持活动消息)。

我的用例非常具体,所以我可以认为电池不是问题。我可能会显示一个巨大的红色警告,说启用该功能会耗尽电池,或者只是在设备没有充电时禁用它。

另一方面,具有连接的进程不会被Android“随机”杀死是非常重要的。

我想过用服务实现这个,但我想听听别人的意见。考虑到之前提到的限制,也许有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

  

"即使应用未运行"

这意味着您的应用未运行,并且没有进程。如果不使用唤醒应用程序的第三方应用程序(例如GCM服务),则无法与您联系。

但是,您可以使服务保持活动状态并保持与服务器(例如,XMPP服务器)的连接,以接收通知并唤醒此活动或该活动。

您也可以在单独的应用程序中执行此操作。

例如,您可以使用警报管理器启动的常规监视程序添加稳健性。