Будет запущено приложение для просмотра PDF для Android - PullRequest
0 голосов
/ 05 августа 2011

Мне нужен указатель на (желательно бесплатное) приложение для просмотра PDF, которое я могу вызвать по ссылке на файл или URL через startActivity в Intent. Я знаю, что нет никакого реального стандарта - у меня есть один телефон, который поставляется с OpenOffice, который может читать локальные файлы PDF, и один телефон, который не имеет встроенной программы чтения PDF.

То, что я хочу, - это имя приложения, которое я могу предложить своим пользователям загрузить с маркета, которое является средством просмотра PDF, которое я могу вызвать, настроив Intent и вызвав startActivity. Я хотел бы сделать это предложение, когда я перехватываю URL-адрес PDF-файла и обнаруживаю, что приложение еще не установлено. Хотя это ужасно, это лучше, чем пустой экран, который они получают сейчас, потому что встроенный браузер не поддерживает PDF.

Я уже установил программу просмотра PDF от Adobe, но она не отображается в диспетчере пакетов как кандидат для обработки файлов PDF.

Я использовал метод, предложенный в SO: how-to-render-pdf-in-android , чтобы проверить действия кандидата для ссылки PDF на основе URL-адреса и ссылки PDF локального файла и увидеть, что com.android.browser.Browser всегда вызывается для http: // URL-ссылок; URL-адрес "file.pdf" заставляет OpenOffice быть выбранным на одном телефоне и ничего на другом телефоне. Программа просмотра PDF от Adobe не подходит ни для одного из этих подходов.

Я попробовал подход к просмотру Документов Google (как это было предложено в SO: android-load-pdf-pdf-viewer , но это оставляет желать лучшего, особенно учитывая, что изображение PDF, которое я пытался загрузить, сохранялось двигаясь все дальше и дальше вниз по экрану устройства, пока пользователю не понадобится прокрутить несколько экранов, заполненных пустым экраном, чтобы добраться до документа.

В качестве потенциального решения я вижу такие библиотеки, как android-pdf-viewer . Но я бы предпочел сделать ссылку на другое приложение, а не встроить поддержку PDF (включая шрифты и т. Д.) В мое приложение. Это позволяет моему приложению поддерживать несколько приложений для просмотра PDF - выбирая одно, которое пользователь уже установил, или предлагая мое любимое, если в нем нет совместимого считывателя, когда мне это нужно. Потенциально я мог видеть использование этих типов библиотек для создания такого приложения и загрузки его на рынок, но прежде чем сделать это, я хочу убедиться, что я не изобретаю колесо заново.

Я нашел приложение droid-reader , которое выглядит многообещающе, но, по-видимому, его нет на рынке. Хотя я лично чувствую себя комфортно, загружая файлы на мою SD-карту и устанавливая их оттуда, для обычного публичного пользователя, на которую я нацеливаюсь, это нереальный вариант.

1 Ответ

0 голосов
/ 05 августа 2011

Я надеюсь, что следующий фрагмент кода будет полезен для чтения PDF-файлов. Он будет использовать программу просмотра PDF по умолчанию, установленную на вашем устройстве.

Intent intent= new Intent(Intent.ACTION_VIEW);
File f = new File("/mnt/sdcard/file.pdf");
intent.setDataAndType(Uri.fromFile(f),"application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
getApplicationContext().startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...