Я пытаюсь запустить намерение ACTION_GET_CONTENT для выбора нескольких типов файлов, включая файлы rtf:
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.putExtra(Intent.EXTRA_MIME_TYPES, resources.getStringArray(R.array.mime_array))
intent.type = "*/*"
startActivityForResult(intent, READ_REQUEST_CODE)
Это мой строковый массив допустимых типов MIME:
<string-array name="mime_array">
<item>application/rtf</item> <!-- .rtf -->
<item>application/x-rtf</item> <!-- .rtf -->
<item>text/richtext</item> <!-- .rtf -->
<item>application/pdf</item> <!-- .pdf -->
<item>text/plain</item> <!-- .txt -->
</string-array>
У меня есть несколько поставщиков контента, доступных в навигационной панели:
![Content providers in navigation drawer](https://i.stack.imgur.com/lChF6.png)
Если я выберу Galaxy S6 Edge, перейдите в папку «Загрузки», файл rtf будетотключено:
![Files in Downloads folder](https://i.stack.imgur.com/q1c8G.png)
Похоже, что дополнительные типы MIME, если я выберу опцию Drive, однако:
![Files in Drive](https://i.stack.imgur.com/yNC4c.png)
Второй вариант Drive (который, по-видимому, запускает приложение Drive в отличие от локального средства выбора файлов) также учитывает дополнительные типы MIME
![Files in Drive app](https://i.stack.imgur.com/1K7R4.png)
Почему файл rtf отключается при просмотре папки «Загрузки»?Как мне включить его?
Я также попытался запустить намерение, например, так, что все типы файлов были отключены, кроме как из приложения Drive ( ref ):
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = resources.getStringArray(R.array.mime_array).joinToString(",")
startActivityForResult(intent, READ_REQUEST_CODE)