我正在尝试使用IBM Worklight创建Cordova插件。我按照IBM Worklight Getting Started page中提到的说明进行操作,但在检查设备时,我会收到以下信息:
02-13 17:58:15.182:D / PluginManager(21057):exec()调用未知 插件:SamPlugin
我在 Config.xml 中添加了插件,如下所示:
<plugin name="SamPlugin" value="com.samapp.plugins.samplugin.SamPlugin"/>
然后,我从 JavaScript 文件中调用了插件,如下所示:
cordova.exec(success,failure,"SamPlugin","printMsg",[name]);
构建应用程序时没有错误 我是否需要在其他任何地方提及插件?
答案 0 :(得分:1)
在我看来,您在config.xml中声明插件的方式不正确......
此:
<plugin name="SamPlugin" value="com.samapp.plugins.samplugin.SamPlugin"/>
应该是:
<feature name="SamPlugin">
<param name="android-package" value="com.testapp.SamPlugin" />
</feature>
以上是Cordova插件在Cordova 3.x中声明的方式; Worklight 6.1使用Cordova 3.1。
以上假设您使用的是Worklight 6.1,因为您提到您已经使用了入门培训模块,该模块现在基于Worklight 6.1 ... 如果您使用的是其他Worklight版本,则必须提到版本号。
例如 - 一个实现Cordova插件的应用程序,该插件通过设备上安装的本机电子邮件应用程序共享问题的链接(这并不重要,它只是一个“场景”):
<强> HTML:强>
<button onclick="openExternalApp()">Share Question</button>
<强> JavaScript的:强>
function openExternalApp() {
var QUESTION_LINK = $(".question_link").attr("href");
cordova.exec(onSuccess, onFailure, "OpenExternalAppPlugin", "openApp", [QUESTION_LINK]);
}
function onSuccess() {
WL.Logger.debug("*** Plug-in executed successfully.");
}
function onFailure() {
WL.Logger.debug("*** Plug-in failed to execute.");
}
<强>机器人\天然\ RES \ XML \ config.xml中:强>
<feature name="OpenExternalAppPlugin">
<param name="android-package" value="com.testapp.OpenExternalAppPlugin" />
</feature>
<强>机器人\天然\ SRC \ COM \ YOUR_APP \ OpenExternalAppPlugin.java:强>
包含Cordova插件的Java代码的Java文件......