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