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