我有以下代码,在开始下载文件之前检查是否有可用的8Mb:
var spaceRequired = 8 * 1024 * 1024;
window.requestFileSystem(window.PERSISTENT, spaceRequired, function (fs) {
createDirs(fs).then(function () {
def.resolve()
});
}, function (error) {
if (error.code === FileError.QUOTA_EXCEEDED_ERR) {
这是javascript,但它通过Cordova平台界面使用Android的API。
我的问题是,如果没有可用的8Mb空间,那么测试FileError.QUOTA_EXCEEDED_ERR
异常的最简单方法是什么?我的想法是使用adb shell
将一些大文件放入/data/
文件夹以占用所有可用空间,但如果不是,我无法通过ADB访问/data
在设备上以root身份运行。
答案 0 :(得分:1)
更好的方法是使用实例方法
File$getFreeSpace()
表示要将文件保存到的给定目录。
还要考虑咨询有关此主题的Android Developer Docs。 如果
,他们建议允许写入光盘“文件系统已满90%。”
因此,您可以使用实例方法查询根文件夹中的空间,并与硬件磁盘空间进行比较。