我已经使用phonegap下载方法成功下载了一个文件。我正在将文件下载到安卓手机上下载文件夹中的本地存储。我希望从下载管理器收到某种通知,说明文件已下载,然后单击下载进行查看。这就是电话间隙下载方法所缺乏的。
phonegap可以访问Android DownloadManager类吗?
你肯定需要一个插件来从Phonegap访问android的原生代码。
看看这个网站: https://github.com/phonegap/phonegap-plugins/tree/master/Android
它充满了插件。其中之一称为"下载器"。也许这就是你要找的。
安卓下载器插件效果很好。但是,如果您在 cordova 2.0 上运行,则需要修改用于添加构造函数的代码。当前代码为:
。
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("downloader", new Downloader());
PluginManager.addService("Downloader", "com.phonegap.plugins.downloader.Downloader");
});
由于 addPlugin 不再适用于 cordova 2.0,您需要删除 addConstructor 方法并将其替换为:
window.downloader = new Downloader();
在exec方法上应该看起来像这样:
cordova.exec(win, fail, "Downloader", "downloadFile", [fileUrl, params]);
而不是使用 Phonegap 对象。在我完成所有这些操作后,该插件起作用了。整个 js 应该看起来像这样:
function Downloader() {}
Downloader.prototype.downloadFile = function(fileUrl, params, win, fail) {
//Make params hash optional.
if (!fail) win = params;
cordova.exec(win, fail, "Downloader", "downloadFile", [fileUrl, params]);
};
window.downloader = new Downloader();
插件访问android下载管理器
https://github.com/sgrebnov/cordova-plugin-background-download
我在我的科尔多瓦应用程序中使用它,它工作正常。
也许需要在 Java 代码中进行一些自定义才能完美运行。