O plug-in de arquivo Cordova tem um diretório errado
Portanto, estou criando um aplicativo cordova / phonegap no angularjs 1 e estou tentando salvar e ler um arquivo chamado calendar.txt no diretório privado / sandbox do aplicativo e não consigo.
Os logs do meu console durante a depuração mostram que não há erros e o arquivo está sendo criado se não existir e está sendo lido corretamente. No entanto, esse não é o caso. Quando eu construo e executo no meu dispositivo, os dados não são salvos. Além disso, nenhum arquivo é criado no local especificado.
Eu console registrei o caminho que estava tentando usar e é isso: file: ///data/data/com.adobe.phonegap.app/files/calendar.txt
Aqui está o código que estou usando para abrir o arquivo:
$rootScope.openFile = function(){
var pathToFile = cordova.file.dataDirectory + "calendar.txt";
console.log('path = ' + pathToFile);
window.resolveLocalFileSystemURL(pathToFile,
function(fileEntry){
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
$rootScope.calendar = JSON.parse(this.result);
console.log('file opened');
console.log(JSON.parse(this.result));
};
reader.readAsText(file);
}, function(error){});
}, function(error){
if(error.code == FileError.NOT_FOUND_ERR){
$rootScope.calendar = new Year();
console.log('no file found so it was created');
$rootScope.saveFile();
}
else{
console.log(error);
}
});
};
E aqui está o código para o meu salvar o arquivo:
$rootScope.saveFile = function(){
var data = JSON.stringify($rootScope.calendar, null, '\t');
var fileName = "calendar.txt"
window.resolveLocalFileSystemURL(cordova.file.dataDirectory,
function(directoryEntry){
directoryEntry.getFile(fileName, { create: true },
function (fileEntry) {
fileEntry.createWriter(
function (fileWriter) {
var blob = new Blob([data], { type: 'text/plain' });
fileWriter.write(blob);
console.log('file saved');
},
function (error){});
},
function (error){}
);
},
function(error){
console.log("Saving Error: Error during finding directory", error.message);
}
);
};
Eu usei este tutorial para chegar até aqui:Tutorial do plug-in de arquivo Cordova
O que estou fazendo errado?