Поделиться содержимым WebView в pdf

91
01 марта 2022, 10:20

У меня есть WebView, содержание которого я формирую из локального txt, даю ему необходимые настройки. В принципе, по вот этой инструкции я формирую из содержимого WebView pdf и отправляю его на печать или на сохрание в локальном хранилище. Как сделать так, чтобы pdf отправлялся не для печати или сохранения в локальное хранилище, а появлялось окно с мессенджерами, почтой и вообще всеми приложениями, через которые можно поделиться файлами?

Answer 1

Вот есть такой пример:

File outputFile = new File(Environment.getExternalStoragePublicDirectory
        (Environment.DIRECTORY_DOWNLOADS), "your_file.pdf");
Uri uri = Uri.fromFile(outputFile);
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.setType("application/pdf");
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setPackage("com.whatsapp");
activity.startActivity(share);

вам нужно только поменять определение пути файла так как вероятнее всего вы его храните где-то в другом месте отличном от загрузочной папки. Дальше все через интент делается. Вот документация по работе с Intent. Так же есть такой вариант:

startActivity(new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.fromFile(reportFile), "application/pdf")));

вам нужно определить путь к файлу а дальше все предельно просто.

READ ALSO
Заголовок spinner

Заголовок spinner

Такой вопрос: как сделать что бы заголовок spinner отличался от выбранного значения, те

88
Написание своего ColorPicker

Написание своего ColorPicker

Всем приветПишу приложение на android для управления LED-лампой и для этого возникла задача сделать Color Picker который будет регулировать теплый...

110
JavaFX Создание копии объекта

JavaFX Создание копии объекта

Имеется конструктор, который получает какой-либо объект наследуемый от Node, те

134
SVG Как анимировать linearGradient?

SVG Как анимировать linearGradient?

Как создать анимацию для градиента SVG?

140