Android 上的 react-native-webview 无法加载使用 ERR_ACCESS_DENIED 保存在缓存目录中的本地文件

react-native-webview on Android cannot load a local file saved on the cache directory with the ERR_ACCESS_DENIED

在我的应用程序中,我下载了一个文件并将其保存到我的应用程序的缓存目录(例如 file:///data/user/0/.../cache/5f8f.../downloaded.pdf),然后尝试使用 WebView 打开该文件。我的 WebView 代码是:

<WebView
  source={{ uri: file.uri }}
  startInLoadingState
  originWhitelist={['file://']}
  allowUniversalAccessFromFileURLs={true}
  allowFileAccess={true}
/>

在 iOS 上,它工作正常。但是,在 Android 上,它会打印 ERR_ACCESS_DENIED.

我尝试了一些在 GitHub 和 Whosebug 上找到的解决方案:

,但仍然无法处理我的情况。

还有其他方法可以解决我的问题吗?提前致谢。如果您需要更多代码进行调查,请告诉我。

== 编辑: file.uri 看起来像 file:///data/user/0/.../cache/5f8f.../downloaded.pdf。它是存储在缓存目录中的文件。

Android 上的 Webview 无法显示 pdf 文档。