Загрузка 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)));
    }
});