我正在尝试按照此处的教程开发适用于 Android 的 Cordova 插件:http://www.mat-d.com/site/tutorial-creating-a-cordova-phonegap-plugin-for-android-app/
到目前为止,还不错。但是,我想知道如何从我的插件发送数据/触发我的 Javascript 代码中的事件 - 例如,当用户点击我的 native 代码中的图标时,我希望我的 javascript 做一些事情。这可能吗?
最佳答案
所以我让它按如下方式工作:
我在我的插件中创建了一个私有(private)的 CallbackContext 对象:
private CallbackContext callbackContext;
并将 execute() 方法中提供的 CallbackContext 存储在其中:
public boolean execute(final String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
this.callbackContext = callbackContext;
}
在我的 Java 代码的其他地方,我可以访问这个回调并将插件结果发送给它。但是,此回调将在首次触发后失效,除非将 keepCallback 设置为 true
:
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, "WHAT");
pluginResult.setKeepCallback(true);
callbackContext.sendPluginResult(pluginResult);
这让我成为一个快乐的露营者。我希望它能帮助别人!
关于javascript - Cordova 插件 : Send event to Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910478/