Как мой DocumentsProvider может получить доступ к данным о намерениях, используемых для запуска средства выбора файлов - PullRequest
0 голосов
/ 30 июня 2018

Я реализую пользовательский DocumentsProvider. При доступе к средству выбора файлов по стандартному протоколу Android приложение может предоставить несколько типов MIME, которые им интересны, а затем запросить средство выбора файлов, выполнив что-то вроде этого:

        // Use the media type they selected
        intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

        intent.setType( "*/*");
        startActivityForResult(intent, SELECT_MEDIA_CODE);

Когда открывается средство выбора файлов, отображается мой пользовательский поставщик документов. Что мне нужно сделать в этом классе, так это уметь определять, какой список типов пантомимы был в том, что приложение хранилось в строке «putExtra» выше, поэтому я могу соответствующим образом загрузить курсор в методе queryChildDocuments поставщиков документов.

Как получить данные в намерении, которые использовались для запуска средства выбора файлов из DocumentProvider?

1 Ответ

0 голосов
/ 01 июля 2018

Это невозможно - вы должны просто вернуть все файлы, которые у вас есть.

Типы пантомимы, предоставляемые средству выбора файлов, используются для двух целей:

  • Фильтрация DocumentsProviders, которые установили COLUMN_MIME_TYPES , когда нет совпадений в типах mime
  • Автоматическое выделение документов недопустимых типов пантомимы, чтобы пользователь не мог их выбрать
...