Android:如何使用 AlarmManager 每 15 分钟重复一次服务,但仅从上午 8:00 运行到下午 18:00?
我需要定期检查数据更新,但数据仅在白天更新,因此我希望仅在该时间段运行此重复操作以节省电池和带宽。
我应该怎么办?
I need to check data update periodly, but the data is only updating during the daytime, so I want this repeating action run only in that time section for saving battery and bandwidth.
What should I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果服务通过 HTTP get/post/whatever 请求与云通信,请注意 C2DM 解决方案可以延长电池寿命,并且 SyncAdapter 解决方案可以提供一些好处。 (我建议观看有关这两个主题的 Google I/O 视频。)
以下代码执行的操作与您最初询问的内容接近。
If the service is talking to the cloud with HTTP get/post/whatever requests, then note that a C2DM solution would net better battery life, and that a SyncAdapter solution could provide a few benefits. (I recommend watching the Google I/O videos on both topics.)
The following code does something close to what you originally asked about.
按照这些简单的步骤,让服务在 Android 设备中永远保持活力。
1. 每 15 分钟使用警报管理器调用一次服务。
2.在onStart方法中返回START_STICKY。
3. 在销毁时调用警报管理器并使用以下命令重新启动服务
启动服务方法。
4.(可选)重复 onTaskRemoved 方法中的第 3 点。
Follow these easy steps to keep servce alive forever in android device.
1. Call a service by using alarm manager for every 15 minutes.
2. return START_STICKY in onStart method.
3. In on destroy call the alarm manager and restart service by using
startService method.
4.(Optional)Repeat the point number 3 in onTaskRemoved method.