Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PDF未显示在网络视图中_Android_Firebase_Android Webview - Fatal编程技术网

Android PDF未显示在网络视图中

Android PDF未显示在网络视图中,android,firebase,android-webview,Android,Firebase,Android Webview,我有一个应用程序,我想在网络视图中显示PDF文件。 我试过这么做 webview = (WebView)findViewById(R.id.webview); progressbar = (ProgressBar) findViewById(R.id.progressbar); String filename =**"My Firebase PDF Url"**; webview.loadUrl("https://docs.google.com/g

我有一个应用程序,我想在网络视图中显示PDF文件。 我试过这么做

webview = (WebView)findViewById(R.id.webview);
        progressbar = (ProgressBar) findViewById(R.id.progressbar);
        String filename =**"My Firebase PDF Url"**;
        webview.loadUrl("https://docs.google.com/gview?embedded=true&url=" + filename);

webview.setWebViewClient(new WebViewClient() {
   public void onPageFinished(WebView view, String url) {
           progressbar.setVisibility(View.GONE);
            }
   });
}
但当我运行应用程序时,它会显示一个白色屏幕。有人知道怎么了吗?
我正在使用firebase的PDF下载URL作为我的firebase PDF URL

尝试将这些设置添加到webview

        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setAllowFileAccessFromFileURLs(true);
        webview.getSettings().setAllowUniversalAccessFromFileURLs(true);
        webview.getSettings().setBuiltInZoomControls(true);
        webview.setWebChromeClient(new WebChromeClient());

尝试将这些设置添加到webview

        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setAllowFileAccessFromFileURLs(true);
        webview.getSettings().setAllowUniversalAccessFromFileURLs(true);
        webview.getSettings().setBuiltInZoomControls(true);
        webview.setWebChromeClient(new WebChromeClient());

这对我有效,请确保您拥有互联网许可并使用

它为我工作,请确保你有互联网许可和使用

由于Android拒绝从webview查看PDF,所以您可以选择此链接

由于Android拒绝从webview查看PDF,所以您可以选择此链接


谢谢,但是当我这么做的时候,它现在说没有可用的预览它对我有用。我还附上了截图。当我使用你的URL时,它可以正常加载。我猜问题出在我的firebase URL上。有没有关于如何解决这个问题的建议?@Tech1您案例的问题是firebase url结尾不包含.pdf。与答案一样,url的末尾包含.pdf。因此,您可以直接在托管网站或github页面上托管pdf。您不能使用驱动器或基于firebase的pdf链接在webview中显示pdf。谢谢,但当我这样做时,它现在显示没有可用的预览。这对我有用。我还附上了截图。当我使用你的URL时,它可以正常加载。我猜问题出在我的firebase URL上。有没有关于如何解决这个问题的建议?@Tech1您案例的问题是firebase url结尾不包含.pdf。与答案一样,url的末尾包含.pdf。因此,您可以直接在托管网站或github页面上托管pdf。您不能使用驱动器或基于firebase的pdf链接在webview中显示pdf。
private void downloadPdfFromInternet(String url, final String dirPath, final String fileName) {
    PRDownloader.download(
            url,
            dirPath,
            fileName
    ).build().start(new OnDownloadListener() {
        @Override
        public void onDownloadComplete() {
            File downloadedFile = new File(dirPath, fileName);
            progressBar.setVisibility(View.GONE);
            showPdfFromFile(downloadedFile);
        }

        @Override
        public void onError(Error error) {
            Toast.makeText(mContext,
                    "Error in downloading file : $error",
                    Toast.LENGTH_LONG).show();
        }
    });


    PRDownloader.download(
            url,
            dirPath,
            fileName
    ).build();

}

private void showPdfFromFile(File file) {
    pdfView.fromFile(file)
            .password(null)
            .defaultPage(0)
            .enableSwipe(true)
            .swipeHorizontal(false)
            .enableDoubletap(true)
            .load();
}