cordova - Cordova ionic inappbrowser sdktargetversion 23 到 26 通过 Intent.getData() 暴露在应用程序之外
问题描述
我正在使用 IONIC Cordova,当我将 targetSdkVersion 23 传递到 26 时出现问题。
这是我的问题:
我用 :
import {InAppBrowser} from '@ionic-native/in-app-browser';
import {File} from '@ionic-native/file';
在我的构造函数中,我有:
fileService: File, private iab: InAppBrowser
在我下载文件并将其写入
this.fileService.externalDataDirectory
在我这样做之后:
this.iab.create(this.fileService.externalDataDirectory + fileName, '_system', 'location=yes');
inappbrowser 应用程序正在打开并向我显示文件。
但是当我传递到 targetSdkVersion 26 时,我得到了这个错误:
D/InAppBrowser: target = _system
D/InAppBrowser: in system
D/InAppBrowser: InAppBrowser: Error loading url file:///storage/emulated/0/Android/data/my.app/files/file.pdf:android.os.FileUriExposedException:
file:///storage/emulated/0/Android/data/my.app/files/file.pdf exposed beyond app through Intent.getData()
有人可以帮我解决这个问题吗?我看到我需要更改清单文件以添加提供程序,但我不确定如何执行此操作以及我需要在项目中添加哪个插件来转换它。
解决方案
推荐阅读
- linux - 我的笔记本电脑有很多分区,我不知道在哪里安装 Linux
- reactjs - 在材质 ui 中自定义扩展面板并覆盖样式
- r - 在R中将一列变成多列
- r - 读取包含表情符号的目录中的所有文件名
- excel - 如何在 VBA 中创建独立于界面语言的 WorksheetsFunction
- gremlin - 如何检索列表中的单个值?
- modal-dialog - 如何在 AppModule 之外声明模态组件?
- python - 为什么python对象不可迭代
- django - 我们可以在 django 设置中使用多个 static_url 或 static_root 吗?
- c# - Visual Studio 中的更新迁移问题