Cordova ionic inappbrowser sdktargetversion с 23 по 26, доступный вне приложения через Intent.getData () - PullRequest
0 голосов
/ 06 февраля 2019

Я использую 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()

Может кто-нибудь помочь мне решить эту проблему?Я вижу, что мне нужно изменить свой файл манифеста, чтобы добавить провайдера, но я не уверен, как это сделать, и какой плагин мне нужно добавить в свой проект для его трансформации.

...