即使应用程序未运行,我也需要在后台保持打开的连接。无法使用 GCM,因为连接将在与服务器相同的 LAN 中,并且设备可能没有有效的 Internet 连接。连接将是某种本地推送,因此设备将不时获得一些简短的相关数据(除了保持活动消息)。
我的用例非常具体,所以我可以认为电池不是问题。我可能会显示一个巨大的红色警告,说明启用该功能会耗尽电池电量,或者如果设备未充电,则将其禁用。
另一方面,具有连接的进程不会被Android“随机”杀死,这一点非常重要。
我考虑过通过服务来实现这一点,但我想听听其他人的意见。考虑到前面提到的限制,也许有更好的方法来做到这一点。