在此之前,JS和原生的交互主要是通过WebView(Android)和UIWebView(iOS)进行,但在Ionic 3 中,Cordova提供了标准的API,来让JS和native进行数据交互。

在Android中,Cordova提供了exec()方法,将访问原生的方法暴露给JS,而Java通过CordovaPlugin.execute()方法与之进行数据对接

以下是Cordova.exec()方法说明

cordova.exec(function(winParam) {},
function(error) {},
"service",
"action",
["firstArgument", "secondArgument", 42, false]);
  • function(winParam) {}:成功回调函数。假设您的 exec成功完成,此功能将随您传递给它的任何参数一起执行。

  • function(error) {}:错误回调函数。如果操作未成功完成,则此功能将执行可选的错误参数。

  • “service”:在本机端呼叫的服务名称。上面图中的java代码中未A.java,那么此处对应的就是A。

  • “action”:在本机端调用的动作名称。原生代码通过对action进行判断,从而知道JS让原生端执行什么样的功能。

  • [/* arguments */]:传到原生环境的参数数组。