我找不到任何文章/博客/文档解释如何使用Cordova将原生Android / iOS中的事件触发到javascript。
如何实现这种异步通信?
答案 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
,这是为了允许多次调用回调而回调就是触发事件的回调。