我需要在后台保持一个打开的连接,即使应用程序没有运行。不可能使用GCM,因为连接将与服务器在同一LAN中,并且设备可能没有工作的Internet连接。连接将是某种本地推送,因此设备只会不时地获取一些简短的相关数据(除了保活消息之外)。
我的用例非常具体,所以我可以认为电池不是问题。我可能会显示一个巨大的红色警告,说明启用该功能将耗尽电池,或者如果设备不充电,则禁用该功能。
另一方面,非常重要的是,连接的进程不会被Android“随机”杀死。
我想过用服务来实现这一点,但我想听听其他人的意见。考虑到前面提到的限制,也许有一种更好的方法来做到这一点。
发布于 2013-04-23 22:00:09
“即使应用程序未运行”
这意味着你的应用程序没有运行,并且它没有进程。如果不使用第三方应用程序(例如GCM服务)来唤醒您的应用程序,则什么都无法到达您的位置。
但是,您可以让服务保持活动状态并保持与服务器(例如,XMPP服务器)的连接,以接收通知并唤醒此活动或那个活动。
您也可以在单独的应用程序中执行此操作。
例如,您可以使用由报警管理器启动的常规看门狗来增加健壮性。
https://stackoverflow.com/questions/16170509
复制相似问题