【发布时间】:2013-04-29 09:12:55
【问题描述】:
我有一个Service,它应该与服务器保持永久连接,以便接收通知。对我的应用来说,及时从服务器获取消息至关重要。
我无法使用 GCM Push,因为连接将在本地网络中,并且手机可能没有任何互联网连接。我也知道在服务中保持永久连接的电池问题,但我会让用户选择此选项并通知他/她潜在的电池消耗(实际上,当设备始终处于相同状态时,该功能主要有意义连接到电源的地方)。我也知道Android系统可以随时杀死我的Service,甚至用户可以使用任务杀手来摆脱当时正在运行的所有服务。
也就是说,我考虑过定期使用AlarmManager 来检查我的Service 是否正在运行并重新启动它以防万一。我不相信这个选项,因为服务器可以在服务被杀死但还没有被AlarmManager重新启动后发送消息。
我的问题基本上是是否有更好的策略来确保我按时收到消息?
到目前为止,我能找到的所有相关信息都代表避免使用永久服务并使用其他东西,但由于我用例的性质,我没有其他选择。
【问题讨论】:
标签: android push-notification android-service alarmmanager