问题描述(question)
在V3.3版本中, 通过以下代码
saveFile:function(appFlieData,fileName,fileType,isOpen)
{
var self=this;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
//获取Iwork目录,如果不存在则创建该目录
function gotFS(fileSystem) {
newDir = fileSystem.root.getDirectory("Iwork", {create : true,exclusive : false}, createFile, fail);
}
function createFile(newDir) {
newDir.getFile(fileName, {
create : true,
exclusive : false
}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.onwrite = function(evt) {
if(isOpen)
{
cordova.plugins.fileOpener2.open(
'/sdcard/Iwork/'+fileName,
fileType
);
}
else
{
justep.Util.hint("文件已经成功保存到/sdcard/Iwork/"+fileName);
}
};
writer.seek(0);
writer.write(self.b64toBlob(appFlieData,fileType, 512));
}
function fail(error) {
justep.Util.hint(error.code);
}
}
};
文件是保存到SD卡的根目录的Iwork目录下, 升级到V3.4版本后, 文件存储到/data/data目录下,如何兼容V3.3的模式?
问题原因
参考http://docs.wex5.com/cordova-plugin-file/中关于“Android持久存储位置”章节
解决方案
修改Native下自己的本地工程中的config.xml文件,在widget的子节点中添加以下内容
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
评一波