问题描述(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" />
评一波