gpt4 book ai didi

Android JobScheduler setRequiresDeviceIdle

转载 作者:太空狗 更新时间:2023-10-29 14:48:18 26 4
gpt4 key购买 nike

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());
}

如果我退出我的应用程序并开始使用另一个应用程序,那么我是否处于 Activity 状态并不重要,因为该作业将始终在 10 秒后运行。

最佳答案

If I quit my app, and start to use another one, it doesn't matter if I'm active or not, since the job will always run after the 10 seconds.

那是因为这一行:

builder.setOverrideDeadline(10000);

引用 the documentation :

The job will be run by this deadline even if other requirements are not met

(强调)

因此,您的作业将在设备空闲时或从现在起 10 秒后运行,以先到者为准。 10 秒很可能会先过去。

关于Android JobScheduler setRequiresDeviceIdle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com