Какой самый простой способ реализовать просмотр pdf без использования сторонних приложений?

76
17 января 2022, 11:30

Какой самый простой способ реализовать просмотр pdf из памяти устройства внутри моего приложения без использования сторонних приложений?

Answer 1

Можно сделать через интент:

Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File( filename  );
intent.setDataAndType( Uri.fromFile( file ), "application/pdf" );
startActivity(intent);

здесь вы должны будете выбрать программу которая будет использоваться для просмотра. Другой вариант - использовать библиотеку, вот например.

Answer 2

Сначала проверяете , есть ли приложение. Если нету предлагаете установить.

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri.parse("/Android/data/ru.myapp/doc.pdf");
intent.setDataAndType(v, "application/pdf");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
PackageManager pm = this.getPackageManager();
if (intent.resolveActivity(pm) != null) {
    this.startActivity(intent);
}else{
    Uri marketUri = Uri.parse("market://details?id=com.google.android.apps.pdfviewer");
    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
    this.startActivity(marketIntent);
}

У меня не работало без флага FLAG_GRANT_READ_URI_PERMISSION на некоторых Android.

Если необходимо показывать PDF внутри своего приложения. То, простого способа нет:

  1. Реализация PDF Viewer
  2. Либо конвертировать PDF в HTML, и открывать в WebView.
READ ALSO
Безопасность и проверки в написании API

Безопасность и проверки в написании API

Подскажите пожалуйста как идеологически, а возможно и практически решается следующий вопросПишется api к сервису на фреймворке лаварель

62
Не работает xml-маппинг в Hibernate

Не работает xml-маппинг в Hibernate

Столкнулся с такой проблемой: если в я пишу маппинги для сущностей в hibernatecfg

83
Java работа со звуком

Java работа со звуком

Хочу поработать со звуком, а именно разбить аудио на звуки, их точки начала, но знаю как преобразовать аудио в то, с чем можно работатьПо идее...

132
Как переопределить кнопку в андроид приложение?

Как переопределить кнопку в андроид приложение?

У мне в андроид приложение есть поиск, и мне нужно сделать так, чтобы вместо кнопки для переноса строки в клавиатуре, появлялась кнопка поиска

133