2016-09-24 117 views
1

我的问题是非常基本的:科尔多瓦插件如何在引擎盖下工作?

任何人都可以告诉科尔多瓦插件如何工作?

特别我想知道如何从WebView获取输入并将其委托给本地系统并将结果返回给Web视图。

哪个android类负责这个 或更具体如何所有这些魔术发生在引擎盖下?

如果有人提供了一些基本的理解,我会很好,因为我无法找到任何文档,并且我希望在继续之前进行一些洞察。

+0

为什么downvote ...? –

回答

0

Cordova插件是为本地组件提供JavaScript接口的附加代码。它们允许您的应用程序使用纯Web应用程序可用的本机设备功能。 插件将在内部具有本地代码传达给设备的功能,如打开相机,在访问设备等文件 自定义插件可以创建,请参阅https://cordova.apache.org/docs/en/2.5.0/guide/plugin-development/android/

http://cordova.apache.org/plugins/

在本地代码的Android,你将有意向可以启动设备功能。请参阅https://developer.android.com/

现在开发混合应用程序时,插件将包含js代码,本地代码(Java的Android和Objective-C iOS设备)

当你的应用程序调用该插件的JavaScript API,它会被重定向到底层插件本机代码,在设备上实现该API。例如,JavaScript API被重定向到Android设备上的Java代码或iOS设备上的Objective C代码。

您可以提取插件并检查代码以便更好地理解。

1

我认为科尔多瓦使用类的WebView的方法“addJavascriptInterface”使用Java代码链接的Javascript代码:

addJavascriptInterface

我寻觅在科尔多瓦项目的文件,这种方法(后添加android平台),我已经在文件'SystemWebViewEngine.java'和其他文件中找到它。