3

根据我的理解,以下代码应该设置一个仅在有网络连接时才运行的定期作业。这意味着尽管是周期性的,但除非满足所需的条件,否则它不会运行。

但这不起作用。无论是否有网络,它总是在该时间段之后运行。难道我做错了什么 ?

  JobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
        JobInfo.Builder builder = null;
        builder = new JobInfo.Builder(1, new ComponentName(getPackageName(),
                MyJobService.class.getName()))
                .setPersisted(true)
                .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
                .setPeriodic(10 * 1000);
4

1 回答 1

1

在 Android 版本 < N 上存在一些问题setPeriodic()(虽然我没有问题的官方链接),但setMinimumLatency()在旧版本上使用对我来说是诀窍。

您可以查看此SO以获取更多详细信息。

于 2018-04-30T12:52:55.773 回答