Я увеличил версию своего WorkManager до 2.3.4, и появилось новое правило lint под названием SpecifyJobSchedulerIdRange
с описанием: «Предупреждать, когда приложение использует JobService
, но не указывает jobIds для WorkManager». и пояснение:
При прямом использовании API JobScheduler WorkManager требует, чтобы разработчики указали диапазон идентификаторов JobScheduler, безопасных для использования WorkManager, чтобы id
не конфликтовали. Для получения дополнительной информации см. Androidx.work.Configuration.Builder.setJobSchedulerJobIdRange (int, int).
Я указал диапазон идентификаторов, которые WorkManager может использовать функцией setJobSchedulerJobIdRange, как я должен, но я все равно получаю этот линт предупреждение. Странно, что это предупреждение о ворсинах получает мой пользовательский JobService, а не Configuration.Builder.
В моем классе Application:
override fun getWorkManagerConfiguration(): Configuration {
return Configuration.Builder()
.setWorkerFactory(workerFactory)
.setJobSchedulerJobIdRange(100000, 101000)
.build()
}