The following code snippet works fine on iOS but does not work on android. On android it prints only “DOWNLOAD”, but not “SUCCESS”, “PROGRESS”, “ERROR”.
let downloader = null;
const resolveMap = {};
const rejectMap = {};
export function downloadAndSave(url: string, filePath: string): Promise<void> {
if (!downloader) {
downloader = new jsb.Downloader();
downloader.setOnFileTaskSuccess((task) => {
logNative("SUCCESS");
resolveMap[task.requestURL]();
});
downloader.setOnTaskProgress((task) => {
logNative("PROGRESS");
});
downloader.setOnTaskError((task) => {
logNative("ERROR");
rejectMap[task.requestURL]();
});
}
logNative(`DOWNLOAD ${url} ${filePath}`);
return new Promise((resolve, reject) => {
resolveMap[url] = resolve;
rejectMap[url] = reject;
downloader.createDownloadFileTask(url, filePath, "");
});
}
Please can you help me to fix it?
I am using Cocos Creator 1.7