phonegap是否可以访问Android DownloadManager类



我已经使用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 代码中进行一些自定义才能完美运行。

相关内容

  • 没有找到相关文章

最新更新