我正在尝试在凌晨5点每天运行一些任务。 所以我决定使用ScheduledExecutorService ,但是到目前为止,我已经看到了一些例子,说明如何每几分钟运行一次任务。 而且我无法find任何例子,说明如何在早上的特定时间(凌晨5点)每天运行一项任务,同时也考虑夏令时的事实 – 下面是我的代码,每15分钟运行一次 – public class ScheduledTaskExample { private final ScheduledExecutorService scheduler = Executors .newScheduledThreadPool(1); public void startScheduleTask() { /** * not using the taskHandle returned here, but it can be used to cancel * the task, or check if it's done (for recurring tasks, that's not * going to be very […]
我正在创build一个类似于内置短信应用程序的应用程序。 我需要的: 一个始终在后台运行的服务 每5分钟。 该服务检查设备的当前位置并调用Web服务 如果符合某些标准,服务应该生成通知(就像短信应用程序一样) 当通知被点击时,用户被带到应用程序(就像短信应用程序) 当应用程序安装时,服务应该启动 当设备重新启动时,服务应该启动 我曾经尝试过: – 运行一个正常的服务,直到Android杀死该服务才工作得很好 – 使用AlarmManager进行5分钟。 间隔呼叫服务。 但我无法做到这一点。
我有点困惑如何以及何时使用beginBackgroundTaskWithExpirationHandler 。 苹果在他们的例子中展示了如何在applicationDidEnterBackground委托中使用它,以获得更多的时间来完成一些重要的任务,通常是networking事务。 当看我的应用程序,似乎我的大部分networking的东西是重要的,当一个开始,我想完成它,如果用户按下主页button。 那么, beginBackgroundTaskWithExpirationHandler是否可以安全地包装每一个networking事务(我不是在讨论下载大块数据,大部分是简短的xml)呢?