哪个是使用Cordova从本机到javascript触发事件的正确方法?

时间:2018-01-18 16:42:29

标签: cordova cordova-plugins

我找不到任何文章/博客/文档解释如何使用Cordova将原生Android / iOS中的事件触发到javascript。

如何实现这种异步通信?

1 个答案:

答案 0 :(得分:2)

cordova-plugin-network-information这就是

的方式
var cordova = require('cordova');
cordova.fireDocumentEvent('offline');

然后你就这样听:

document.addEventListener("offline", yourCallbackFunction, false);

Statusbar插件是这样的:

cordova.fireWindowEvent('statusTap');

然后你就这样听:

window.addEventListener('statusTap', yourCallbackFunction);

在本机部分,它就像任何其他插件回调一样,对于状态栏插件,它就像iOS一样

CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:payload];
    [result setKeepCallbackAsBool:YES];
    [self.commandDelegate sendPluginResult:result callbackId:_eventsCallbackId];

重要的部分是setKeepCallbackAsBool设置为YES,这是为了允许多次调用回调而回调就是触发事件的回调。