Что такое копия iOS 'QLPreviewController или UIDocumentInteractionController на Android?

На iOS довольно легко просмотреть много типов файлов с помощью QLPreviewController или UIDocumentInteractionController . Как можно добиться чего-то подобного на Android и какие форматы файлов поддерживаются?

Плохая новость: нет компонента предварительного просмотра (SDK level) / View для вас.

Хорошая новость: Android поддерживает намерения, которые позволяют вам использовать другие приложения для выполнения этой работы и возвращать выбранный файл с запрошенным типом файла.

Есть несколько вещей, которые вы можете сделать, зависит от ваших целей:

  1. API 19+: на устройстве с API 19 вы должны использовать платформу доступа к хранилищу ( https://developer.android.com/guide/topics/providers/document-provider.html ). Все предварительные просмотры и т. Д. Будут выполняться на отвечающем приложение.

    Вы будете использовать Intent.ACTION_OPEN_DOCUMENT.

  2. Для более старых устройств: существует намерение, которое вы можете использовать с дополнительным типом файла и категорией, которую вы можете использовать. Это откроет либо встроенный селектор файлов, либо стороннее приложение.

     Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, REQUEST_CODE); 

    ** Обратите внимание, что здесь вы можете создать опцию Intent.

  3. Для устройств, которые не имеют приложения, которые могут реагировать на намерение: вы можете либо связать что-то заранее ( https://code.google.com/p/android-file-dialog/ ), либо в зависимости от типа файла, вы можете Запросить базу данных контента для медиафайлов и отобразить их с помощью хорошего пользовательского интерфейса.

Дополнительная информация о том, как использовать намерения и как это работает: http://developer.android.com/guide/components/intents-filters.html

Intereting Posts
Android 7.0 Nougat берет строки по умолчанию, когда язык устройства en_US Маркировка SMS-сообщений как прочитанных / непрочитанных или удаленных сообщений, не работающих в KitKat Эмулятор не работает Несколько файлов dex определяют Lcom / amazon / ags / BuildConfig при использовании GameCircleSDK в Android Studio Пользовательский адаптер Android: элементы списка, заполненные только при прокрутке FindViewById в фрагменте Как сделать скриншот другого приложения программно без разрешения root, например, Скриншот UX Trial? Android WebView падает при нажатии на ссылку Оператор == не может применяться к «Long» и «Int» в Kotlin Как распаковать защищенный паролем архив, созданный Linux, используя Java Как использовать Android-L Preview Task Locking? Android: как я могу проверить, поддерживает ли устройство мультитач? Размер растрового изображения Android в xml Телефонная связь Не работает геолокация Управление несколькими подписками для одного элемента для нескольких пользователей