Android firebase jobservice для прослушивания изменений каталога - PullRequest
0 голосов
/ 24 ноября 2018

Есть ли способ заставить 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 не работаюткогда эти конкретные файлы добавляются в каталог

...