我已扩展CordovaActivity
,并在原生代码中实施WLInitWebFrameworkListener
加BluetoothAdapter.LeScanCallback
public class MainActivity extends CordovaActivity implements WLInitWebFrameworkListener, BluetoothAdapter.LeScanCallback{
在本课程中我实施了
@Override
public void onInitWebFrameworkComplete(WLInitWebFrameworkResult arg0) {
// if a device is connected launch application
if(mConnectedGATT.connect()){
WL.getInstance().addActionReceiver(new ErosReceiver());
super.loadUrl(WL.getInstance().getMainHtmlFilePath());
}
else{Log.i(TAG, "Could not connect");}
}
我已将以下内容添加到函数
中的main.js中WL.App.SendActionToNative ("ReqSlaveList", data);
我创建了另一个班级MyReceiver
public class MyReceiver implements WLActionReceiver {
已实施
public void onActionReceived(String action, JSONObject data)
现在似乎永远不会调用OnActionReceived
。
答案 0 :(得分:0)
我认为你不应该创建一个实现onInitWebFrameworkComplete
的新类。您需要将您的代码附加到已经执行此操作的现有应用程序主类(以及MobileFirst Platform所依赖的)。
您可以在MobileFirst Studio中的应用程序的 native 文件夹中找到此应用程序主类。那是您应该声明ActionReceiver
的地方。见这里:https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/6.3/adding-native-functionality/android-adding-native-ui-elements-hybrid-applications/#action-receiver