在我的应用程序中,我使用工作管理器进行定期工作。在下面的代码中,如果设备有Internet连接,我的工作在每4小时后执行。
PeriodicWorkRequest.Builder myWorkBuilder =
new PeriodicWorkRequest.Builder(FileUpload.class, 4,
TimeUnit.HOURS)
.setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build());
PeriodicWorkRequest myWork = myWorkBuilder.build();
WorkManager.getInstance().enqueueUniquePeriodicWork("myJob", ExistingPeriodicWorkPolicy.REPLACE,myWork);
现在我想改变时间-如果设备连接到WiFi,那么工作应该在每20分钟后执行,如果设备连接到蜂窝数据,那么工作应该在12小时后执行。如何做到这一点。提前谢谢