我的问题非常基本:
有谁可以告诉Cordova插件如何工作?
特别想知道插件如何从WebView获取输入并将其委托给本机系统并将结果返回给Web视图。
以及哪些Android类负责此事 或者更具体如何所有这些魔法在引擎盖下发生?
如果有人提供一些基本的理解,我会很高兴,因为我无法找到任何文档,而且在进一步发展之前我需要深入了解它。
答案 0 :(得分:1)
我认为cordova使用方法' addJavascriptInterface'用于将Javascript代码与Java代码链接的WebView类:
我在cordova项目的文件中搜索了这个方法(在添加android平台之后),我在文件系统中找到了它' SystemWebViewEngine.java'以及其他文件。
答案 1 :(得分:0)
Cordova插件是附加代码,为本机组件提供JavaScript接口。它们允许您的应用使用超出纯网络应用可用范围的本机设备功能。 插件将在内部具有本机代码,以便与设备功能进行通信,例如打开相机,访问设备中的文件等。 可以创建自定义插件,请参阅https://cordova.apache.org/docs/en/2.5.0/guide/plugin-development/android/
http://cordova.apache.org/plugins/
在Android的本机代码中,您将拥有可以启动设备功能的意图。请参阅https://developer.android.com/
现在开发混合应用程序时,插件将包含js代码,本机代码(用于android的java和用于iOS的objective-C)
当您的应用调用插件的JavaScript API时,它会被重定向到在设备上实现该API的底层插件本机代码。例如,JavaScript API被重定向到Android设备上的Java代码或iOS设备上的Objective C代码。
您可以提取插件并检查代码以便更好地理解。