android - webview中的PDF文件点击在少数设备中不起作用
问题描述
我需要通过单击其中的按钮在我的 web 视图中加载 PDF 文件。我已经使用 google docs URL 来加载相同的内容。它在 S8 edge(v9.0) 中完美运行,但在 S6 edge(v6.0.1) 中无法运行。它甚至没有调用 shouldOverrideUrlLoading 方法。无法理解它的确切原因是什么。
我的代码:
private final String googleDocs = "http://docs.google.com/gview?embedded=true&url=";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (request.getUrl().toString().endsWith("pdf")) {
String pdfUrl = googleDocs + request.getUrl().toString();
view.loadUrl(pdfUrl);
} else {
view.loadUrl(request.getUrl().toString());
}
return true;
}
});
WebSettings webSettings = binding.webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl(url);
}
解决方案
推荐阅读
- ios - 列表未在 SwiftUI 中显示来自 API 的数据?
- amazon-web-services - 命名 AWS EC2 安全组
- python-2.7 - 在python2.7中导入jwcrypto时出错
- c# - 使用 ClosedXML.Excel C# 更改列样式
- python - 命令引发异常:AttributeError: 'File' object has no attribute 'to_dict' for Discord bot
- excel - 无法通过 VBA 创建数据透视表,但我可以从同一数据源手动创建数据透视表
- python - pycharm Markdown 需要在 pre 标签中添加一个类
- unity3d - 当场景中有另一个 navMesh 时,是否可以在对象上制作 navMesh?
- ipfs - 如何向 ipfs 端点发出请求?
- rest - 相同端点但具有不同 API 版本的清洁方式