1

我已经使用 phonegap 下载方法成功下载了一个文件。我正在将文件下载到我的安卓手机上下载文件夹中的本地存储。我想从下载管理器中收到文件已下载的某种通知,然后单击下载以查看。这就是 phonegap 下载方法所缺乏的。

phonegap 是否可以访问 Android DownloadManager 类?

4

3 回答 3

0

使用此插件访问 android DownloadManager

https://github.com/sgrebnov/cordova-plugin-background-download

我在我的科尔多瓦应用程序中使用它,它工作正常。

可能需要在 java 代码中进行一些自定义才能完美运行。

于 2015-02-12T00:07:24.703 回答
0

你肯定需要一个插件来从 phonegap 访问 android 的本机代码。

看看这个网站:https ://github.com/phonegap/phonegap-plugins/tree/master/Android

它充满了插件。其中之一称为“下载器”。也许这就是你正在寻找的。

于 2012-09-26T01:36:57.390 回答
0

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();
于 2012-09-28T17:50:19.330 回答