Документация подразумевает, что она распространяется по классу обслуживания:
Уникальный идентификатор задания для планирования; должно быть одинаковым значением для всех работ, поставленных в очередь для одного и того же класса.
Однако у меня есть две службы с JOB_ID
и enqueWork()
:
companion object {
private const val JOB_ID = 1
fun enqueueWork(context: Context, action: String) {
enqueueWork(context, Svc1::class.java, JOB_ID, Intent(action))
}
}
и
companion object {
private const val JOB_ID = 1
fun enqueueWork(context: Context, action: String) {
enqueueWork(context, Svc2::class.java, JOB_ID, Intent(action))
}
}
, когда я запускаю обе службы при загрузке (вероятно, примерно в одно и то же время) Svc2
работает 2 раза. Изменение JOB_ID Svc2
на 2. решает проблему.
Если это НЕ ограничено классом обслуживания, это ужасно, так как каждый сервис должен знать о реализации всех других сервисов в том же приложении. .
?