Android 4.4 KitKat – Как я могу избежать выбора нового файла?

У меня есть приложение, которое должно запрашивать у пользователя файл. Я достигаю этого путем запуска действия с использованием намерения с действием Intent.ACTION_GET_CONTENT и типа "file/*" MIME.

Он отлично работает на более ранних версиях Android, чем 4.4. Система отображает список установленных файловых менеджеров, и мое приложение получает URL-адрес "file://" после выбора файла.

Проблема возникает, когда я запускаю приложение на KitKat. Когда приложение хочет открыть файл на KitKat, появляется новый встроенный сборщик файлов. В нем перечислены различные источники для открытия файла, такие как «Загрузки» и т. Д. Но все файлы выделены серым цветом. Я не могу их открыть. Хорошо, когда я меняю MIME-тип на "*/*" , он позволяет мне открывать те же файлы. Затем я открываю файл, и мое приложение получает URL-адрес "content://" качестве результата.

Я знаю, как читать данные с этих URL-адресов, но было бы сложно переписать все приложение для его поддержки. Он большой и предназначен для работы с файлами.

Есть ли способ строго определить в Intent что я хочу URL-адрес "file://" ?

Или есть способ предотвратить использование KitKat новой файловой системы? Есть ли способ заставить его работать так же, как и в более ранних версиях?

Можно ли решить эту проблему без реализации поддержки «content: //» -главного URL-адреса в приложении? Вероятно, это было бы самым ясным решением …

Заранее спасибо!

Intereting Posts
Как сохранить файл с сайта на SDCard Является ли это хорошей методикой (использование держателя данных) для устранения анонимного класса, чтобы уменьшить риск утечки памяти Как вы можете сделать обзорную копию приложения для Android? Tools.jar не найден OS X Разработка приложений и приложений для Android Воспроизведение видео один за другим одновременно плавно Android имитирует нажатие клавиши Android – «Полное действие с использованием» продолжает отображаться даже после выбора «Всегда» IllegalArgumentException при использовании Отто с сохраненным фрагментом Draggable jQuery на Android-телефоне TransitionDrawable: автоматически обратный переход после завершения Прозрачная панель действий и строка состояния, такие как Uber Как избежать неиспользуемых ресурсов и кода из проекта библиотеки Android, входящего в мой APK? Мое приложение открывается при нажатии на URL-адрес в Android EditText, значения inputType (xml)