2012-09-25 60 views
1

我已经使用phonegap下载方法成功下载了一个文件。我将文件下载到我的android手机上的下载文件夹中的本地存储中。我想从下载管理器获得某种文件已下载的通知,然后点击下载进行查看。这是phonegap下载方法所缺少的。phonegap是否可以访问Android DownloadManager类?

phonegap是否可以访问Android DownloadManager类?

+0

你需要编写一个插件。 http://docs.phonegap.com/en/2.0.0/guide_plugin-development_index.md.html#Plugin%20Development%20Guide –

回答

0

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(); 
相关问题