gpt4 book ai didi

android - 无法使用 WebView 打开 PDF 文件

转载 作者:行者123 更新时间:2023-12-02 02:24:18 25 4
gpt4 key购买 nike

我试图在 webview 中使用 url 显示 pdf 文件。虽然 webview 正在加载像 google.com 这样的网页,但当我尝试加载 pdf 的 url 时,它不会加载任何内容或抛出任何异常。

url 在 google chrome 桌面浏览器中加载 pdf,所以我猜问题不在于 url 本身。

这是我到目前为止编写的代码:

onCreateView() 加载 pdf 的 Fragment

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_brochure, container, false);
webView = view.findViewById(R.id.webView);
// webView.loadUrl("https://google.com");
webView.loadUrl("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf");
// webView.loadUrl(brochureUrl);
// Enable Javascript
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);

// Force links and redirects to open in the WebView instead of in a browser
webView.setWebViewClient(new WebViewClient());
return view;
}

布局(xml 文件):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/purple_500"
tools:context=".ui.project_details.project_details_pages.BrochureFragment">

<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"/>

</LinearLayout>

Manifest文件(只有我认为相关的部分)

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
...
...
...
android:supportsRtl="true"
android:usesCleartextTraffic="true">

我想知道我错过了什么。另外,如果我能学习如何调试此类问题,那就太好了。

最佳答案

使用 webView 加载 pdf 时出现一些问题。您可以使用以下代码来解决您的问题。此方法借助驱动器在webView中查看pdf。最后让我知道你的问题是否解决

webview.getSettings().setJavaScriptEnabled(true); 
String pdf = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";
webview.loadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);

关于android - 无法使用 WebView 打开 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65931122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com