我正在构建一个Phonegap / Cordova应用程序,可以下载一些文件并将其保存在设备上。为此,我使用File API。
window.requestFileSystem(LocalFileSystem.PERSISTENT,
0,
function (fileSystem) {
rootPath = fileSystem.root.fullPath;
},
fail
);
在iOS上,这会将rootPath
设置为应用的私人目录,这很好。在Android上,这会将rootPath
设置为外部存储的根目录,这有点问题,因为这些文件没有绑定到应用程序,并且在删除应用程序时不会删除。据我了解,在Android上执行此操作的正确方法是使用getExternalFilesDir
。如何通过Phonegap获取getExternalFilesDir
的功能?
答案 0 :(得分:4)
您想通过JS请求外部文件目录。
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function (fileSystem) {
fileSystem.root.getDirectory("Android/data/com.my.app/files",
{create: true, exclusive: false},
function(dirEntry) {
rootPath = dirEntry.fullPath;
}, fail);;
},
fail
);
现在,您有一条路径指向将在卸载应用时清理的区域。
答案 1 :(得分:0)
您无法跟踪卸载事件。但要删除目录,代码如下所示。
function deleteDirectory(directoyName){
$scope.fs.root.getDirectory(directoyName,{ create: false, exclusive: false }, function(dirEntry) {
dirEntry.removeRecursively(function() {
console.log('Directory Successfully Removed.');
}, errorHandler);
}, errorHandler);
}