0

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

我的用例非常具体,所以我可以认为电池不是问题。我可能会显示一个巨大的红色警告,说明启用该功能会耗尽电池电量,或者如果设备未充电,则将其禁用。

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

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

4

1 回答 1

1

“即使应用程序没有运行”

这意味着您的应用程序没有运行,并且它没有进程。如果不使用唤醒您的应用程序的第三方应用程序(例如 GCM 服务),您将无法获得任何信息。

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

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

例如,您可以使用警报管理器启动的常规看门狗来增加稳健性。

于 2013-04-23T14:00:09.227 回答