Есть ли в Android собственный класс, похожий на WKWebView на iOS, который может отображать документы Word и PDF?
Если под «собственным классом» вы подразумеваете «класс Java, встроенный в Android SDK», ответ «не совсем». Там нет ничего для DOCX. Android 5.0+ имеет PdfRenderer
, но он предназначен для предварительного просмотра PDF-файлов, созданных с использованием среды печати Android, и не сможет отображать многие произвольные PDF-файлы.
В iOS я могу использовать WKWebView как способ отображения предварительных просмотров различных типов документов, включая документы Word (.docx) и файлы PDF.
Есть открытые и коммерческие библиотеки, которые предлагают это. Я написал о некоторых опциях рендеринга PDF с открытым исходным кодом в начале 2017 года.
Используя намерения просмотра, я могу заставить Android открыть PDF-файл в средстве просмотра Adobe, но перед установкой я получу исключение из-за того, что приложение для просмотра типа файла не может быть найдено.
Это не имеет ничего общего с "нативным классом". Intent
обрабатывается приложениями и их зарегистрированными компонентами (в вашем случае, действиями).
В настоящее время не существует приложения, которое является частью проекта Android с открытым исходным кодом (AOSP), которое могло бы быть средством просмотра PDF или средством просмотра других форматов документов. Будет ли оно у любого устройства (например, Google Docs), будет различаться.
Неужели в Android нет поддержки для чего-то такого распространенного?
С точки зрения приложений, производитель устройств не обязан предварительно устанавливать программу просмотра PDF или программу просмотра DOCX. Даже если они есть, разработчикам этих средств просмотра не требуется регистрировать <intent-filter>
, который поддерживает любую структуру Intent
, которую вы использовали. Поскольку ваш Intent
не в вашем вопросе, мы не можем прокомментировать, насколько распространенной или необычной будет поддержка для этого Intent
.