IBM Worklight 6.1 - 未执行Cordova插件

时间:2014-02-13 12:44:15

标签: android cordova ibm-mobilefirst

我正在尝试使用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]);

构建应用程序时没有错误 我是否需要在其他任何地方提及插件?

1 个答案:

答案 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文件......