2014-04-08 26 views
0

我为cordova为windows phone 8开发了一个插件。它就像上传功能一样,我一直在后台上传数据并返回成功。 这里我想要返回上传文件的百分比,我打算通过progressevent公开它。从C#插件公开事件并在js中访问cordova

我正在使用PhoneGap 2.3其中它尚未在FileTransfer类中提供。

如何创建和触发事件,以便我可以在JavaScript中访问它?

我试过使用命令调度程序,但它调用成功函数,而不是订阅了onProgress事件的函数。

回答

0

看看最新的Cordova FileTransfer代码,你会想做类似的事情。 https://github.com/apache/cordova-plugin-file-transfer/blob/master/www/FileTransfer.js

在你的C#代码中,持有对回调的引用并持续调用带进度数据的回调。请记住将KeepCallBack设置为true。

PluginResult result = new PluginResult(progressData); 
result.KeepCallback = true; 
DispatchCommandResult(result); 

在JavaScript中,成功处理程序将获取进度数据。 FileTransfer#upload通过创建新的成功回调来处理此问题,该回调要么调用onprogress要么调用successCallback,具体取决于接收到的数据。 https://github.com/apache/cordova-plugin-file-transfer/blob/651460fb6b41035c96bcc31a38621ec8100648f1/www/FileTransfer.js#L133