В iOS довольно легко просмотреть многие типы файлов с помощью QLPreviewController
или UIDocumentInteractionController
. Как можно добиться чего-то подобного на Android и какие форматы файлов поддерживаются?
Что такое копия iOS 'QLPreviewController или UIDocumentInteractionController на Android?
Ответ 1
Плохая новость: нет компонента предварительного просмотра (SDK level)/View для вас.
Хорошая новость: Android поддерживает Intents, которые позволяют вам использовать другие приложения для выполнения этой работы и возвращать выбранный файл с запрошенным типом файла.
Есть несколько вещей, которые вы можете сделать, зависит от ваших целей:
-
API 19+: на устройстве с API 19 вы должны использовать платформу доступа к хранилищу (https://developer.android.com/guide/topics/providers/document-provider.html). Все предварительные просмотры и т.д. будут выполняться на ответное приложение.
Вы будете использовать Intent.ACTION_OPEN_DOCUMENT.
-
Для более старых устройств: существует намерение использовать дополнительный тип файла и категорию, которую вы можете использовать. Это откроет либо встроенный селектор файлов, либо стороннее приложение.
Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, REQUEST_CODE);
** Обратите внимание, что здесь вы можете создать выбор намерения.
-
Для устройств, которые не имеют приложения, которые могут ответить на намерение: вы можете либо связать что-то заранее (https://code.google.com/p/android-file-dialog/), либо в зависимости от тип файла, вы можете запросить базу данных контента для медиафайлов и отобразить их сами с помощью хорошего пользовательского интерфейса.
Дополнительная информация о том, как использовать намерения и как они работают: http://developer.android.com/guide/components/intents-filters.html