У меня есть конкретный сценарий, когда я делаю запрос POST
с уникальным билетом в теле, чтобы вернуть результирующую страницу.
В результате получается страница либо Content-Type
: application/pdf
, либо text/html
. Билет действителен только один раз, поэтому страницу можно загрузить только один раз.
Проблема в том, что Android WebView не поддерживает отрисовку pdf (как это делается в iOS).
Я пробовал следующее:
Проверьте заголовки ответа http с помощью основного запроса, а затем загрузите файл со вторым запросом, если это PDF-файл, и откройте его в приложении PDF (работает). А вот для загрузки html страниц второй запрос не проходит, так как тикет уже недействителен.
Загрузите как pdf, так и html-страницу, а затем откройте ее в приложении pdf/WebView локально. Это работает, обе относительные ссылки на веб-страницах не работают. Есть ли хороший способ скачать их?
Икс. Можно ли прервать запрос в WebView, чтобы прочитать заголовки ответа и запустить загрузку, если это PDF-файл, иначе просто продолжите рендеринг? Не могу найти хороший ответ для этого.