IBM Worklight 6.1 - Cordova 插件未执行

Posted

技术标签:

【中文标题】IBM Worklight 6.1 - Cordova 插件未执行【英文标题】:IBM Worklight 6.1 - Cordova plug-in not getting executed 【发布时间】:2014-02-13 12:44:14 【问题描述】:

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

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

【问题讨论】:

请提及环境... ios?安卓? 对不起。安卓平台 这个问题解决了吗? 没有。不幸的是,您建议的解决方案不起作用。 “不工作”...什么不工作?你能提供你的项目吗? 【参考方案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 3.x中声明Cordova插件的方式; 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.");

android\native\res\xml\config.xml:

<feature name="OpenExternalAppPlugin">
    <param name="android-package" value="com.testapp.OpenExternalAppPlugin" />
</feature>

android\native\src\com\YOUR_APP\OpenExternalAppPlugin.java: 包含 Cordova 插件的 Java 代码的 Java 文件...

【讨论】:

以上是关于IBM Worklight 6.1 - Cordova 插件未执行的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.1 - 如何打开 https 链接?

IBM Worklight 6.1 - 无法重新生成 iPhone 本机文件夹

IBM Worklight 6.1 支持 iOS 64 位代码

IBM Worklight 6.1 - 如何将应用程序连接到远程 Worklight 服务器?

IBM Worklight 6.1 - Cordova 插件未执行

IBM Worklight 6.1 - iOS 6.1 上的 App Center 错误