android-设置重复任务的最佳方法
作者:互联网
我在我的应用程序中有一种方法,我想根据用户的选择反复调用它.例如,如果用户选择了每小时,该活动将触发一个每小时被调用的方法.我想知道安排这项重复任务的最佳方法.
我一直在尝试使用Timers和Timer任务,但是由于某些原因,当我将其与Java日历类一起使用时,它似乎不起作用:
Calendar c1 = Calendar.getInstance();
c1.add(Calendar.SECOND, 30);
updateTimer.scheduleAtFixedRate(cleanCompletedCache, c1.getTimeInMillis(),hour );
从我一直在阅读的内容来看,处理程序不适合执行此多次重复任务.我是否需要为此使用警报管理器,为什么上述代码无法正确执行?谢谢
解决方法:
您需要AlarmManager及其setRepeating或setInexactRepeating调用.
在那里,您计划将一个Intent交付给您的应用程序,并编写一个Intent接收器来处理它.这样,您的应用程序的激活完全由Android系统负责,并且您的应用程序无需在等待激活的整个小时内运行.
如果出于某种奇怪的原因,您需要在计时器调用之间运行代码,则需要保持后台服务运行,但是您仍然可以使用AlarmManager来唤醒.
标签:android-asynctask,android-alarms,android 来源: https://codeday.me/bug/20191209/2095798.html