我已经使用phonegap下载方法成功下载了一个文件。我将文件下载到我的android手机上的下载文件夹中的本地存储中。我想从下载管理器获得某种文件已下载的通知,然后点击下载进行查看。这是phonegap下载方法所缺少的。phonegap是否可以访问Android DownloadManager类?
phonegap是否可以访问Android DownloadManager类?
我已经使用phonegap下载方法成功下载了一个文件。我将文件下载到我的android手机上的下载文件夹中的本地存储中。我想从下载管理器获得某种文件已下载的通知,然后点击下载进行查看。这是phonegap下载方法所缺少的。phonegap是否可以访问Android DownloadManager类?
phonegap是否可以访问Android DownloadManager类?
Android下载插件工作得很好。但是,如果您在cordova 2.0上运行,则需要修改用于添加构造函数的代码。当前的代码是:
...
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("downloader", new Downloader());
PluginManager.addService("Downloader", "com.phonegap.plugins.downloader.Downloader");
});
由于addPlugin不再适用于科尔多瓦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();
你绝对需要一个插件来从phonegap访问android的本地代码。
看一看这个网站:https://github.com/phonegap/phonegap-plugins/tree/master/Android
它是全的插件。其中之一被称为“下载者”。也许这就是你要找的。
使用这个插件来访问Android的下载管理器
https://github.com/sgrebnov/cordova-plugin-background-download
我用它在我的科尔多瓦应用程序,它做工精细。
也许在java代码中需要一些定制才能完美工作。
你需要编写一个插件。 http://docs.phonegap.com/en/2.0.0/guide_plugin-development_index.md.html#Plugin%20Development%20Guide –