Android JobScheduler语言 - setRequiredNetworkType 不起作用



我试图使JobScheduler具有1个简单的约束条件:setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY(

JobScheduler jobScheduler = (JobScheduler) mContext.getSystemService(Context.JOB_SCHEDULER_SERVICE);
ComponentName componentName = new ComponentName(mContext.getPackageName(), JobOneService.class.getName());
JobInfo jobInfo = new JobInfo.Builder(1, componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPersisted(true)
.build();
jobScheduler.schedule(jobInfo);

JobOneService 扩展为 JobService 类。 顺便说一下,我试图模拟条件:关闭然后打开 wifi 网络。但是onStartJob((方法并不总是被调用(间歇性调用(。

任何人都可以帮我解释为什么一旦我打开 wifi 连接,onStartJob(( 并不总是被调用?谢谢

在文档中,他们提到 setRequiredNetworkType 用于

调用此方法会将网络定义为作业的严格要求。如果请求的网络不可用,则作业将永远不会运行。

因此,它会检查网络连接。如果网络连接,则您的作业将运行,否则您的作业将不会运行。如果您希望在网络连接再次运行时运行,则必须为此编写逻辑。最好使用 WorkManager,因为 WorkManager 可以正确处理它。

相关内容

  • 没有找到相关文章

最新更新