React Native 在 Android 网页视图中显示 PDF

React Native display PDF in Android web view

我有一个 React Native 应用程序,在其中的某个页面上有一个 Web 视图 (react-native-webview),用于显示来自我们服务器的 PDF。

在 iOS 中一切正常,在 Android 中,每当我尝试查看我得到的文件时:

Cannot downoad files as permission was denined. Please provide permission to write to storage, in order to download files.

然后我将 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 添加到我的清单中。现在,我收到以下警报:

我认为从用户体验的角度来看,这非常可怕且非常愚蠢。我没有访问照片、媒体或文件,我只想在 Web 视图中显示一个简单的 PDF。我不希望我的用户收到这样的警报。

当我点击允许时,它会显示 Downloading... 并下载 PDF,就像可以在我的应用程序外部打开的文件一样。我不想要这种行为,我希望 PDF 在网络视图中呈现,就像 iOS 一样。

如何使用 React Native 网页视图在 Android 中显示 PDF,而不出现与我实际尝试做的事情无关的可怕对话框?

(我正在使用 React Native 0.59.9,Android 8.1,Android SDK 28,react-native-web-view 5.12.0)

在尝试了各种方法后,我放弃了直接显示 PDF 并将其转换为 HTML。显然没有可靠的方法在默认浏览器中显示 PDF(直接查看 PDF 可能 在某些机器上工作但绝对不可靠,因为它在我的 device/emulators 上没有)。