我的应用看起来像: My app screen
这是我的 webview 代码:
private String myPdfUrl = "https://drive.google.com/open?id=1rquwQNdXeds39Rlb32isX3bjYghHitCV";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(myPdfUrl);
return true;
}
}
);
webView.loadUrl(myPdfUrl);
}
我的问题是:当我使用 API 19,21 在 Genymotion 中运行时,它有效。但是在 API 25 中,WebView 只显示白屏。
最佳答案
转身
private String myPdfUrl = "https://drive.google.com/open?id=1rquwQNdXeds39Rlb32isX3bjYghHitCV";
进入
private String myPdfUrl = "https://drive.google.com/file/d/1rquwQNdXeds39Rlb32isX3bjYghHitCV/view";
因为 Google 将您重定向到另一个 URL。
编辑:
在 onCreate()
之上添加 @SuppressLint("SetJavaScriptEnabled")
//...
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
你必须抑制那个 Javascript 安全问题:)
关于android - 将存储在谷歌驱动器中的 PDF 文件显示到 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758679/