2

ローカルpdfファイルへのリンクを含むhtmlページがあります。アクティブなインターネット接続なしで、ブラウザ (chrome、opera、dolphin) 内でこの pdf ファイルを開きたいです。ブラウザやメソッドなどでPDFファイルを(ダウンロードせずに)開くことができるプラグインを知っていますか?

4

3 に答える 3

2

残念ながら、Android デバイスに搭載されているネイティブ ブラウザは、このタイプのファイルをサポートしていません。4.0+ でそれができるかどうか見てみましょう。

于 2013-10-01T08:40:52.867 に答える
1

以下のコードを使用します。

CustomWebView webView = (CustomWebView) rootView.findViewById(R.id.webView);
webView.loadUrl("https://docs.google.com/gview?embedded=true&url=" + yourUrl);

以下のように CustomWebView クラスを作成します。

public class CustomWebView extends WebView {
    private Context context;

    private ProgressDialog progressDialog;

    public CustomWebView(Context context) {
        super(context);
        this.context = context;
        init();
    }

    public CustomWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        init();
    }

    public CustomWebView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        this.context = context;
        init();
    }

    private void init() {
        setWebSetting();
    }

    private void setWebSetting() {
        WebSettings webSettings = getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setPluginsEnabled(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
        webSettings.setLightTouchEnabled(false);
        setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
        setWebViewClient(new CustomWebViewClient());
    }

    class CustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            progressDialog = ProgressDialog.show(context, null,
                    context.getString(R.string.msg_please_wait));
            progressDialog.setCancelable(false);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressDialog.dismiss();
        }
    }
}
于 2013-10-01T07:46:31.627 に答える