2013-05-07 7 views
1

Я делаю приложение для Android, которое использует веб-просмотр для навигации по определенному веб-сайту. Дело в том, что я хочу, чтобы пользователи могли просматривать документы PDF, .xls или .doc, которые находятся на веб-сайте.Android Просмотр и просмотр файлов pdf, xls или doc

У меня есть этот код, но он открывает браузер для Android, а не просматривает файл PDF.

webView.setDownloadListener(new DownloadListener() { 
    public void onDownloadStart(String url, String userAgent, 
      String contentDisposition, String mimetype, long contentLength) { 
     Uri uri = Uri.parse(url); 
     Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
     startActivity(intent); 

    } 
}); 

Кроме того, я попытался с помощью google docs viewer, но это не работает. Он открывает мне html ссылки, он не открывает файл! Веб-сайт не перенаправляет вас на ссылку в формате pdf, он позволяет вам загружать его, поэтому google doc viewer не работает.

Я хотел бы открыть файл, как и браузер для Android. Он загружает файл, а затем открывает его. Как я могу это сделать? Я думал, используя диспетчер загрузки Android, но как загрузить файл, открыть его, и когда пользователь закроет его, удалите этот файл? потому что я хотел бы скачать только временное время.

Любые идеи приветствуются. Спасибо за ваше время!

ответ

0

Сначала вам необходимо загрузить файлы, поэтому Android может найти соответствующее приложение, чтобы открыть их, поскольку Uri.parse(url) предоставит вам адрес веб-сайта, который обычно назначается браузеру (и поэтому откроется в нем) ,

Чтобы скачать файлы, вы можете использовать их для DownloadManager-service или write your own code. Когда у вас есть файл во временном месте, вы можете открыть его, используя свой вышеописанный метод.

Если вы хотите удалить файл после того, как пользователь просмотрел его, одна из идей заключалась бы в том, чтобы сделать это в ваших действиях. onResume() -method, который будет вызываться, когда пользователь перейдет от просмотра файла (с помощью кнопки «Назад»)).

Хотя, я бы предпочел разместить файлы в internal cache и вытереть их время от времени. Android будет сделать немного сам дом-хранение, тоже:

Когда устройство находится низко над внутренним пространством хранения, Android может удалить эти файлы кэша для восстановления пространства. Тем не менее, вам не следует полагаться на систему для очистки этих файлов для вас. Вы должны всегда хранить файлы кеша самостоятельно и находиться в пределах разумного предела занимаемого пространства, например 1 МБ. Когда пользователь удаляет ваше приложение , эти файлы удаляются.

Смежные вопросы