javascript - Cordova 插件 : Send event to Javascript?

标签 javascript android cordova

我正在尝试按照此处的教程开发适用于 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/

相关文章:

android - 具有与 Google map 相同分辨率的 map 的 MapView

android - 在 webview 中显示自动对焦键盘

javascript - Cordova 文件传输插件下载总是产生 http 状态 401 和错误代码 3

javascript - 区分失败(无网络)和 ajax 错误(HTTP 状态代码 0)中的已取消请求

javascript - 为什么有些STL模型在Three.js场景中变成纯黑色?

javascript - 表格滚动上的两个固定标题 - 添加边框

Android:在某些情况下仍受到 'Can not perform this action after onSaveInstanceState' 的困扰

android - 在 android 中使用 vh 设置父高度时 100% 高度不起作用

android - 如何使用 javascript 检测触摸移出节点。

javascript - 有没有办法让 webkit 的 javascript 正确处理空格?