Cordova 应用基于 Webview,所以后台代码和 js 交互都是基于 Webview(Webkit)的接口的。
Android:WebView(WebKit-based) WebView(4.4 Chromium-based) Updatable-WebViews(5+) @JavascriptInterface/WebView#addJavascriptInterface()
参考源码 ExposedJsApi.java
iOS:UIWebView(iOS 4+) WKWebView(iOS 8.1+) UIWebViewDelegate/UIWebView#stringByEvaluatingJavaScriptFromString()
以下以 Android 调用照相机为例,简单说明一下调用及回调过程。
(1)创建的过程
①添加插件
引用cordova plugin add org.apache.cordova.camera在 plugins 的目录下创建 org.apache.cordova.camera 文件夹,并将该 Plugin 的所有代码 Copy 进去,具体代码依赖关系都记录在 plugin.xml 里。
②创建 Android 工程
引用cordova platform add android
从上边的 Plugin 文件夹中把 Java 文件和 js 文件 Copy 到 Android 工程的相应的文件夹下。platforms\android\src\org\apache\cordova\camera\CameraLaun