问题描述
我有我的 PDF 的 URL,我想在浏览器中显示它。我使用的是 Intent
,但下载的 PDF 没有查看,所以我搜索了这个东西,我发现,我可以在我的 PDF 的 URL "https://drive.google.com/viewerng/viewer?embedded=true&url="
之前使用这个链接。
它可以工作,但昨天它不工作,它显示 Couldn't preview file there was a problem showing this image
我也搜索了这个东西,我发现它是谷歌驱动器中的一个错误。
有没有什么简单的方法可以在浏览器中显示带有 URL 的 PDF 而不下载它?
这是我的代码
Dialog dialog = new Dialog(requireActivity(),android.R.style.Theme_Translucent_NoTitleBar);
dialog.requestwindowFeature(Window.FEATURE_NO_TITLE);
dialog.getwindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.setContentView(R.layout.webview_layout);
WebView webView = dialog.findViewById(R.id.webview);
ProgressBar progressBar = dialog.findViewById(R.id.pp);
dialog.show();
String path = caseSummaryModelResource.data.getURLWithParamter();
webView.getSettings().setLoadWithOverviewmode(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE,null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
webView.setRendererPriorityPolicy(WebView.RENDERER_PRIORITY_IMPORTANT,false);
}
String url = "https://drive.google.com/viewerng/viewer?embedded=true&url=" + path;
webView.loadUrl(url);
//webView.setWebChromeClient(new WebChromeClient());
//webView.setWebViewClient(new WebViewClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url) {
view.loadUrl(url);
return true;
}
public void onReceivedError(WebView view,int errorCode,String description,String failingUrl) {
Toast.makeText(requireActivity(),description,Toast.LENGTH_SHORT).show();
}
@Override
public void onPageFinished(WebView view,String url) {
//super.onPageFinished(view,url);
if (view.getTitle().equals("")) {
view.reload();
}
}
});
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view,int progress) {
if (progress < 100) {
progressBar.setVisibility(View.VISIBLE);
}
if (progress == 100) {
progressBar.setVisibility(View.GONE);
}
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)