JobInfo.Builder 中的“setRequireDeviceIdle”方法究竟是如何工作的?根据我在 Android 文档(https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#setRequiresDeviceIdle(boolean))中的理解,它应该保证只有在没有交互的情况下才会启动您的作业与设备。
我的经历不一样:
private void scheduleRestartJob(){
ComponentName mServiceComponent = new ComponentName(this, RelaunchAppJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(1002, mServiceComponent);
builder.setRequiresDeviceIdle(true);
builder.setPersisted(true);
builder.setOverrideDeadline(10000);
mJobScheduler.schedule(builder.build());
}
如果我退出我的应用程序并开始使用另一个应用程序,我是否处于活动状态并不重要,因为该作业将始终在 10 秒后运行。