为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
通过 downloadManager 原生插件,能够对所有的下载进程进行管理,并可以通过界面来查看下载进度等信息,同时还提供压缩包解压、快速查看下载完成文件等功能
打开下载管理界面
openManagerView({params}, callback(ret, err))
title:
ret:
内部字段:
{
id: '', //下载记录 id
mimeType: '', //文件类型
savePath: '', //下载文件的本地存储路径
uncompressPath: '' //压缩文件解压缩后路径
event: true //下载管理界面返回时的事件,布尔类型
}
var downloadManager = api.require('downloadManager');
downloadManager.openManagerView({
title: '下载管理'
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭下载管理界面
closeManagerView()
var downloadManager = api.require('downloadManager');
downloadManager.closeManagerView();
iOS系统,Android系统
可提供的1.0.0及更高版本
开始一个下载
enqueue({params}, callback(ret, err))
url:
encode:
savePath:
cache:
allowResume:
uncompress:
headers:
mimeType:
title:
iconPath:
networkTypes:
ret:
内部字段:
{
id: '123456' //新下载记录的 id
}
var downloadManager = api.require('downloadManager');
downloadManager.enqueue({
url: 'http://xxx.zip',
savePath: 'fs://xxx.zip',
cache: true,
allowResume: true,
title: '教程',
networkTypes: 'all'
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
暂停下载
pause({params}, callback(ret, err))
id:
ret:
内部字段:
{
status: false, //操作状态
msg: '' //操作失败时的描述
}
var downloadManager = api.require('downloadManager');
downloadManager.pause({
id: '123'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
无
iOS系统,Android系统
可提供的1.0.0及更高版本
继续下载
resume({params}, callback(ret, err))
id:
ret:
内部字段:
{
status: false, //操作状态
msg: '' //操作失败时的描述
}
var downloadManager = api.require('downloadManager');
downloadManager.resume({
id: '123'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
无
iOS系统,Android系统
可提供的1.0.0及更高版本
删除下载
remove({params}, callback(ret, err))
ids:
deleteFiles:
ret:
内部字段:
{
number: 1 //成功完成删除操作的总数,没有则返回-1
}
var downloadManager = api.require('downloadManager');
downloadManager.remove({
ids: [
'123456',
'1234567'
]
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
无
iOS系统,Android系统
可提供的1.0.0及更高版本
查询下载状态,当查询条件均为空时,返回所有下载记录信息
query({params}, callback(ret, err))
ids:
status:
ret:
内部字段:
{
data:
[{
id: '123456', //下载id
status: 1, //下载状态
url: '', //资源地址
savePath: '', //下载文件本地存储路径
title: '教程', //下载文件标题
totalSize: 1000, //文件总大小,单位 byte
finishSize: 500, //已完成下载大小,单位 byte
mimeType: 'audio/mp4', //文件类型
iconPath: '' //图片路径
reason: '' //当下载发生错误时,错误的描述。详见下载错误常量表
}]
}
var downloadManager = api.require('downloadManager');
downloadManager.query({
ids: [
'123456',
'1234567'
]
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
无
iOS系统,Android系统
可提供的1.0.0及更高版本
打开下载文件
openDownloadedFile({params}, callback(ret, err))
id:
ret:
内部字段:
{
status: false, //操作状态
msg: '' //操作失败时的描述
}
var downloadManager = api.require('downloadManager');
downloadManager.openDownloadedFile({
id: '123456'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
无
iOS系统,Android系统
可提供的1.0.0及更高版本
android获取外部存储应用私有目录,对应“Android/data/packagename”,Android10以上设备需要把下载文件存储到私有目录下才能正常下载和访问。仅Android支持
getPrivateDirs(callback(ret))
ret:
内部字段:
{
dir: '' //返回私有目录路径
}
var downloadManager = api.require('downloadManager');
downloadManager.getPrivateDirs(function (ret) {
alert(ret);
});
无
Android系统
可提供的1.0.0及更高版本
网络环境
下载状态
下载错误
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。