Каркас доступа к хранилищу: зарегистрируйте обозреватель контента - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь реализовать ContentObserver на платформе Storage Access Framework, предоставляемой Uri, но наблюдатель никогда не уведомляется о каких-либо изменениях.

Пример Uri Я пытаюсь наблюдать is: content://com.android.externalstorage.documents/tree/primary%3AMusic/document/primary%3AMusic

Приложение ранее получило READ_URI_PERMISSION через takePersistableUriPermission.

Я пытался использовать Uri, возвращаемый из DocumentsContract.buildChildDocumentsUriUsingTree (который разрешается до /tree/primary:Music/document/primary:Music/children).

Я также пытался DocumentFile.fromTreeUri(context, uri) (который разрешается до /tree/primary:Music/document/primary:Music).

Я тестировал добавление и удаление файлов непосредственно в этот каталог Music через adb и использование файлов. приложение на устройстве, но обратные вызовы ContentObserver onChange() никогда не вызываются.

Я заметил, что при регистрации того же ContentObserver против MediaStore.Audio.Media.EXTERNAL_CONTENT_URI я получаю уведомления об изменениях - так что нет Кажется, это проблема с реализацией ContentObserver. К сожалению, некоторые из каталогов, которые я хотел бы наблюдать, не отслеживаются в MediaStore.

...