以Gmail应用程序为例.无论手机是否开启,它都会每10分钟左右轮询一次,以便下载自您上次检查后可能已到达的新电子邮件.
我知道如何创建一个新服务并绑定它.但我可以看到几种方法来实现这一目标:
有什么权衡?Gmail应用如何实现这一目标?
谢谢!
aro*_*ero 18
Gmail应用使用推送,而不是轮询.我建议使用这种技术,轮询是移动设备中的电池杀手.
要实现推送,请查看C2DM.
如果您仍想轮询,建议的方法是在AlarmManager中设置定期警报.
更新:Google已弃用C2DM并将其替换为Google云消息传递(GCM)
更新:Google已弃用GCM并将其替换为 Firebase云消息传递(FCM)
对于一个连续的,但不是密集的民意调查,如你评论的民意调查(在民意调查之间的分钟范围内),我会用AlarmManager实现它.通过这种方式,您可以确保手机在不需要唤醒锁的情况下唤醒,这会破坏您的电池.正如CommonsWare指出的那样,你仍然需要在你的代码执行时实现一个唤醒锁,但你可以在代码完成后立即释放它,避免在等待时保持手机开启.有关如何实现它的示例,请参阅他的评论.
如果您需要在较短的时间内(每次轮询之间的秒数)进行更快的轮询,我会使用服务,因为设置警报对于如此短的时间段没有意义,并且电池无论如何都会耗尽.
| 归档时间: |
|
| 查看次数: |
13302 次 |
| 最近记录: |