Cordova 3.6 возвращает путь к данным конкретного приложения вместо внешнего доступного пути

Я работаю с приложением mobilefirst/worklight, которое использует cordova в качестве платформы. Мое предыдущее приложение было на мобильном сначала 6.1, которое использует Cordova версии 3.1. Сейчас я обновляю свое приложение до версии mobilefirst 7.1(переименованной из worklight), в которой используется версия cordova 3.6.

Для доступа к файловой системе я использую

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys){
    var path =  fileSys.root.fullPath; 
    //Output : file://storage/emulated/0 <-- Cordova 3.1 For Android
    //Output : / <-- Cordova 3.6 For Android
});

Поскольку кордова изменила структуру после версии 3.3, я изменил fullPath на toURL();

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys){
   var path =  fileSys.root.toURL(); 
   //Output : file://data/0/com.MyApp/files/files <-- Cordova 3.6 For Android
});

Проблема в том, что он дает мне путь к данным приложения. Я храню данные, которые должны быть доступны извне, как ранее было -file://storage/emulated/0.

Есть ли какие-либо методы в файловой системе, которая возвращает мне путь, который доступен из другого приложения? Это должно работать на IOS также.

1 ответ

Решение

Я нашел решение здесь: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/

Я могу использовать cordova.file.externalRootDirectory вместо fileSys.root.toURL().

Другие вопросы по тегам