Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在特定时间运行我的后台服务,并定期使用JobScheduler_Android_Android Jobscheduler - Fatal编程技术网

Android 在特定时间运行我的后台服务,并定期使用JobScheduler

Android 在特定时间运行我的后台服务,并定期使用JobScheduler,android,android-jobscheduler,Android,Android Jobscheduler,我想使用JobScheduler从晚上11:45开始每24小时运行一次后台服务以获取新数据,问题是我找不到如何告诉JobScheduler我的服务应该在晚上11:45开始运行 private void constructJob() { JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, TestService.class)); builder.setPeriodic(24*6

我想使用JobScheduler从晚上11:45开始每24小时运行一次后台服务以获取新数据,问题是我找不到如何告诉JobScheduler我的服务应该在晚上11:45开始运行

 private void constructJob() {
    JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, TestService.class));
    builder.setPeriodic(24*60*60*1000) //24 hours * 60 min * 60 sec * 1000
    .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
            .setPersisted(true)
            .build();

}
PS:我避免使用AlarmManager,我希望从jobScheduler API功能的优点中获益,如: *合并作业以减少电池消耗。 *由于自动处理网络的不可靠性,因此更容易处理上传。 *使应用程序重新启动

我找不到如何告诉作业调度程序我的服务应该在晚上11:45开始运行

 private void constructJob() {
    JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, TestService.class));
    builder.setPeriodic(24*60*60*1000) //24 hours * 60 min * 60 sec * 1000
    .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
            .setPersisted(true)
            .build();

}

这是因为这是不受支持的<代码>作业调度器周期性作业的设计是不精确的,以最大限度地节省能源。

感谢您的回复,在我寻找解决方案的过程中,我发现了一些解决方案(Ansh1234的回复),但想法仍然不是很清楚,请您帮助我理解它