16

WebView で PDF を開きたいのですが、このフォーラムでコードを見つけて組み合わせました。

しかし、Adobe Reader を含む複数の PDF アプリがインストールされているにもかかわらず、「PDF アプリケーションが見つかりません」というメッセージが表示されます。

ここにコード:

private class PsvWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);

            if (url.contains(".pdf")) {
                Uri path = Uri.parse(url); 
                Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
                pdfIntent.setDataAndType(path, "application/pdf");
                pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                try
                {
                    startActivity(pdfIntent);
                }
                catch(ActivityNotFoundException e)
                {
                    Toast.makeText(PsvWebViewActivity.this, "No PDF application found", Toast.LENGTH_SHORT).show();
                }
                catch(Exception otherException)
                {
                    Toast.makeText(PsvWebViewActivity.this, "Unknown error", Toast.LENGTH_SHORT).show();
                }

            }

            return true;
        }   } }
4

7 に答える 7

43

(1) Google Docs Viewer, You can open it in android Browser like,

mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ webUrl);

Update:

(2) Check this library, in build.gradle(app module) add this dependency,

compile 'com.github.barteksc:android-pdf-viewer:2.8.2'
于 2012-02-24T17:04:45.210 に答える
0

URL を含む PDF を表示しようとしていて、認証が必要なコンテンツにアクセスしていない場合、最適なオプションは次のとおりです。

val webPage = Uri.parse(customizedUrl) //This is optional, based on how your URL is provided
val intent = Intent(Intent.ACTION_VIEW, webPage)
startActivity(intent)

ブラウザーは、ドキュメントを開くことをデバイス上の PDF ビューアーに委任します。

于 2021-01-28T20:32:25.477 に答える