我的问题的一部分,我如何在“牛轧糖”中以小于15分钟的时间间隔设置作业,在他的回答中回答了“暴风雪”:
Job Scheduler not running on Android N
他解释这个问题,并建议使用以下解决方法:安卓N中的作业调度程序,时间间隔小于15分钟
JobInfo jobInfo;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
jobInfo = new JobInfo.Builder(JOB_ID, serviceName)
.setMinimumLatency(REFRESH_INTERVAL)
.setExtras(bundle).build();
} else {
jobInfo = new JobInfo.Builder(JOB_ID, serviceName)
.setPeriodic(REFRESH_INTERVAL)
.setExtras(bundle).build();
}
然而,使用建议
.setMinimumLatency(REFRESH_INTERVAL)
刚开始工作一次;
但我怎样才能得到它与周期约30秒的Android nougat设备(不使用处理程序或报警管理器)?
除了当您的应用程序处于前台并被用户主动使用时,每30秒执行一次操作在用户的眼中是不恰当的,因为用户大声抱怨后台应用程序会耗费电量。 – CommonsWare
但是,如果您的用户在开始使用手机时希望获得最新信息(可能他们现在没有互联网......),则需要可靠的后台服务。还是你想告诉我,这显然是不可能的?那么你可以这样做,而不是试图教我关于我所知道的事情。 – tomseitz
“如果您的用户希望在启动手机时获得最新信息” - 不需要每30秒进行一次工作。 “或者你想告诉我,这显然是不可能的?” - 没有什么能够可靠地做到这一点,除非你的应用程序在前台并且正在被使用。 – CommonsWare