公开来自 C# 插件的事件,并在 js 中访问 cordova

本文关键字:并在 js cordova 访问 事件 插件 | 更新日期: 2023-09-27 17:57:10

我在 cordova 中为 Windows Phone 8 开发了一个插件。这就像一个上传功能,我继续在后台上传数据,并在完成后返回成功。在这里,我想返回中间上传的文件的百分比,我计划通过progressevent公开它。

我正在使用PhoneGap 2.3 FileTransfer类中尚未提供的地方。

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

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

公开来自 C# 插件的事件,并在 js 中访问 cordova

看看最新的Cordova文件传输代码,你会想要做类似的事情。 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通过创建一个新的成功回调来处理这个问题,该回调调用onprogresssuccessCallback,具体取决于收到的数据。https://github.com/apache/cordova-plugin-file-transfer/blob/651460fb6b41035c96bcc31a38621ec8100648f1/www/FileTransfer.js#L133