Есть ли способ заставить JobService запускаться после добавления файла в определенный каталог?
Я пытался использовать MediaStore.Files.getContentUri('external')
, но он не работал.
Это мой код для планирования задания в MainActivity:
val dispatcher = FirebaseJobDispatcher(GooglePlayDriver(context))
val mediaFileAddedJob = dispatcher.newJobBuilder()
.setService(MediaFileReceivedJob::class.java)
.setTag("my-media-file-listener")
.setRecurring(true)
.setLifetime(Lifetime.FOREVER)
.setTrigger(Trigger.contentUriTrigger(listOf(
ObservedUri(MediaStore.Files.getContentUri("external"), ObservedUri.Flags.FLAG_NOTIFY_FOR_DESCENDANTS),
ObservedUri(MediaStore.Files.getContentUri("internal"), ObservedUri.Flags.FLAG_NOTIFY_FOR_DESCENDANTS)
)))
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.build()
dispatcher.mustSchedule(mediaFileAddedJob)
Файлы, которые я пытаюсь наблюдать, являются opus
аудиофайлами, однако по некоторым причинам MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
и MediaStore.Audio.Media.INTERNAL_CONTENT_URI
не работаюткогда эти конкретные файлы добавляются в каталог