2014-04-08 59 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