使用 Worklight 从本机 Android 代码触发 javascript 事件侦听器
Fire javascript event listener from native Android code using Worklight
我正在尝试遵循教程并将其与 ReactJS 集成到我的应用程序中。我创建了一个插件来调用本机和 javascript 代码,我的 Cordova 插件在 HybirdBridge.java
中,我的 javascript 侦听器在 NativeEventListener.js
中。我的代码可以在这里找到:https://github.com/nguyengiangdev/HybridBridge
我在操作栏中有一个搜索按钮。当我单击搜索按钮时,我尝试调用 javascript 事件,但它在 listenerCallbackContext
.
中抛出空指针异常
不知道为什么?谁能帮我解决这个问题?
谢谢
您应该查看 MobileFirst Platform(以前称为 Worklight)开发人员中心以获取有关此主题的更多信息。
下面的 link 包含 Android、iOS 和 Windows Phone 的各种教程,介绍如何向混合应用程序添加本机功能。
从 Worklight 6.2 开始,您可以使用以下代码在混合和本机之间来回传递数据,而无需创建您自己的 Cordova 插件:
混合到原生
发送
var data = { someproperty : 1234 };
WL.App.sendActionToNative("doSomething", data);
混合到原生
收到
WL.getInstance().addActionReceiver(new WLActionReceiver() {
void onActionReceived(String action, JSONObject data){
// process received action
}
});
原生到混合
发送
JSONObject data = new JSONObject();
data.put("someProperty", 12345);
WL.getInstance().sendActionToJS("doSomething", data);
收到
WL.App.addActionReceiver ("MyActionReceiverId", function(received) {
if (received.action === "doSomething"){
// handle the data received
}
});
其他有用的links:
开始使用 IBM MobileFirst Platform:
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/
IBM MobileFirst Platform Foundation v7 知识中心:
http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/wl_welcome.html
我正在尝试遵循教程并将其与 ReactJS 集成到我的应用程序中。我创建了一个插件来调用本机和 javascript 代码,我的 Cordova 插件在 HybirdBridge.java
中,我的 javascript 侦听器在 NativeEventListener.js
中。我的代码可以在这里找到:https://github.com/nguyengiangdev/HybridBridge
我在操作栏中有一个搜索按钮。当我单击搜索按钮时,我尝试调用 javascript 事件,但它在 listenerCallbackContext
.
不知道为什么?谁能帮我解决这个问题?
谢谢
您应该查看 MobileFirst Platform(以前称为 Worklight)开发人员中心以获取有关此主题的更多信息。
下面的 link 包含 Android、iOS 和 Windows Phone 的各种教程,介绍如何向混合应用程序添加本机功能。
从 Worklight 6.2 开始,您可以使用以下代码在混合和本机之间来回传递数据,而无需创建您自己的 Cordova 插件:
混合到原生
发送
var data = { someproperty : 1234 };
WL.App.sendActionToNative("doSomething", data);
混合到原生
收到
WL.getInstance().addActionReceiver(new WLActionReceiver() {
void onActionReceived(String action, JSONObject data){
// process received action
}
});
原生到混合
发送
JSONObject data = new JSONObject();
data.put("someProperty", 12345);
WL.getInstance().sendActionToJS("doSomething", data);
收到
WL.App.addActionReceiver ("MyActionReceiverId", function(received) {
if (received.action === "doSomething"){
// handle the data received
}
});
其他有用的links:
开始使用 IBM MobileFirst Platform:
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/
IBM MobileFirst Platform Foundation v7 知识中心:
http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/wl_welcome.html