Работа запускается при запуске приложения и не должна
У меня есть андроид-работа из библиотеки Evernote. Задание настроено на периодическое выполнение при определенных обстоятельствах. Таким образом, сборка задания вызывается только тогда, когда я хочу периодически запускать задание (чего нет в начале моего приложения)
Создать JobService:
class JobService : Job() {
companion object {
private var jobId = 0
fun scheduleJobPeriodically(ms: Long) {
if (jobRequested()) {
cancelJob()
}
jobId = JobRequest.Builder("JOB_TAG")
.setRequiredNetworkType(JobRequest.NetworkType.CONNECTED)
.setPeriodic(ms, TimeUnit.MINUTES.toMillis(5))
.setRequirementsEnforced(true)
.build()
.schedule()
}
fun cancelJob() {
JobManager.instance().cancel(jobId)
}
}
override fun onRunJob(params: Params): Result {
Timber.d(">>>>>>>>>>>Job is Running")
Result.SUCCESS
}
}
JobCreator:
class MyJobCreator : JobCreator {
override fun create(tag: String): Job? {
return when (tag) {
"JOB_TAG" -> {
JobService()
}
else -> null
}
}
}
В классе приложения добавьте необходимую строку для регистрации работы:
JobManager.create(this).addJobCreator(MyJobCreator())
В этот момент приложение запускается и создается класс JobService. (ОК) Но в этом классе есть этот метод scheduleJobPeriodically, и этот метод запускается, и он не должен этого делать, потому что я его явно не запускаю. Я запустил свое приложение в режиме отладки, и я уверен, что периодическое создание не вызывается напрямую, а также JobRequestBuilder, который устанавливает тег для задания. Но код в onRunJob запускается, и это проблема.
Заранее спасибо.