首页 > 解决方案 > Android - 当应用程序处于锁定或睡眠状态时,计时器不会定期运行

问题描述

在我的android项目中,我有定期任务每60秒更新一次API,因为我正在使用TimerTask,当应用程序处于锁定状态或睡眠状态时,当应用程序处于后台或前台时,一切正常,或睡眠状态计时器毫秒每分钟滞后一次,例如第一个 api 时间是 10.00。00秒 api 时间为 10.01。05每计数毫秒都在增加

我试过工作管理器,但我的周期间隔是 60 秒,我需要一个答案,它每 60 秒运行一次周期作业,没有任何时间延迟

我参考了这段代码https://github.com/codeexpedia/android_sync_adapter它工作正常我在 SyncAdapter 中还有一个问题,一些设备同步适配器跳过例如:-如果我设置 60 秒间隔,它每 5 分钟跳过 1 分钟你能帮我

如果应用程序处于打瞌睡模式,则适用于 7 和 8 api 版本的任何其他解决方案

标签: androidtimertimertask

解决方案


由于您的要求是在应用程序和服务器之间同步数据,您可以使用Android 的原生功能SyncAdapter这将根据时间间隔以任何一种方式同步数据。您可以在docs中阅读有关它的信息。我会建议这种方法而不是 TimerTask。


推荐阅读