我想创建一个具有特定时间和给定周期的正在运行的作业。例如,我想安排一个工作在每个月的第二天,并且应该每个月运行一次。 看着JobInfo.Builder documentation,我还没有找到一种设置初始延迟的方法。 关于如何实现此目标的任何想法? 这是以正确的周期性运行的代码,但没有我想要的初始延迟: fun build(application: Application, periodicity: Days, startDay: Days) { val serviceComponent = ComponentN…

2019年10月3日 0条评论 22点热度 阅读全文

当Wifi与某些路由器连接或断开连接时,我想运行一段代码。我可以为此使用service和BrodcastReceiver,但是从Oreo开始,该服务将在应用关闭后几分钟终止(除非在前台)。因此,我试图为此使用JobScheduler,但是我不知道是什么触发器为执行我的Job提供了条件。 解决方案如下: 当网络发生变化时,Android不想运行您的代码。这些更改可能每分钟发生几次,并且您的代码将导致过多的电池消耗。 您能做的最好的事情就是安排您的工作定期执行(这不能太短-如果您要求的时间少于15分钟,您将无法定期获得…

2019年9月25日 0条评论 19点热度 阅读全文

我是android新手,对于应该使用哪种方法感到非常困惑。我的目标是API级别24以上。我使用了timertask,但是有时会关闭,因此在Vivo和Xiamo等上不起作用。 我应该在后台使用哪种方法(作业调度程序,工作管理器,意图服务等)执行此任务?如何使用开关启动和停止后台工作(在打开开关时启动呼叫服务器,在关闭开关时停止调用服务器) 解决方案如下: 1)您应该在应用程序启动时使用WorkManager安排任务。您可以在此任务中做任何您想做的事情。 2)您可以添加PreferenceChangeListener并…

2019年5月18日 0条评论 26点热度 阅读全文