Загрузка PDF через веб-браузер и веб-просмотр
Я обращаюсь к веб-сайту с документами .pdf. Если я открою этот документ через веб-браузер, он начнет его загружать. Если я открою его через webview, ничего не произойдет. Какую настройку следует применять для веб-просмотра, чтобы начать загрузку?
У меня уже есть это.
wvA.setDownloadListener(new DownloadListener()
{
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType,
long size)
{
Intent viewIntent = new Intent(Intent.ACTION_VIEW);
viewIntent.setDataAndType(Uri.parse(url), mimeType);
try
{
startActivity(viewIntent);
}
catch (ActivityNotFoundException ex)
{
}
}
});
Ответы
Ответ 1
Вы должны создать WebViewClient и установить его в свой веб-просмотр. Каждый раз, когда вы нажимаете ссылку WebViewClient shouldOverrideUrlLoading, вызывается метод. Убедитесь, что URL-адрес указывает на файл pdf и делает то, что вы хотите. Например, вы можете просмотреть pdf.
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading (WebView view, String url) {
if (url.endsWith(".pdf")) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
// if want to download pdf manually create AsyncTask here
// and download file
return true;
}
return false;
}
});
Ответ 2
Реализовать прослушиватель загрузки для обработки любого вида загрузки:
webView.loadUrl(uriPath);
webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
}
});