网页视图问题,pdf链接打不开,请协助



我尝试使用 wevbview 从可选列表中打开 pdf,但是当我单击应用程序时没有任何反应,我已经给了应用程序互联网权限也读取和写入(很难不需要)以扩展存储。谁能给我一个提示?

我已经测试了谷歌文档版本,它可以与之配合使用,但是那里有登录和打印按钮,它们在webview中不起作用,并且像用户一样保存他们选择查看的pdf

public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.endsWith(".pdf")){
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.parse(url), "application/pdf");
            try{
                view.getContext().startActivity(intent);
            } catch (ActivityNotFoundException e) {
                //user does not have a pdf viewer installed
            }
        } else {
            webview.loadUrl(url);
        }
        return true;
好的,

所以我更改了代码,因此它应该只是下载文件,而不是在 web 视图中查看。我仍然不知道为什么上面的代码没有调用设备上的默认pdf查看器。我已经在我的设备上安装了超过 5 个 pdf 查看器,并使其中至少有 3 个默认进行测试 - 不起作用。所以最后我只是更改了 shouldOverrideUrlLoad 以在 ext 存储中下载文件,从那时起,用户可以通过他想要/已安装的任何应用程序打开它。溶液:

 public boolean shouldOverrideUrlLoading (WebView view, String url) {
        if (url.endsWith(".pdf")) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        }
        return false;
    }

还向清单添加了访问默认下载管理器和外部存储的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>

这为我修复了它。

最新更新