Cordova NFC 插件不工作

Cordova NFC plugin not working

我正在尝试构建一个测试 cordova 应用程序来读取和写入针对 windows phones 和 android phone 的 NFC 标签。 当测试应用程序部署到设备时,在 android 上,我在尝试注册侦听器时收到一条错误消息,提示“Class 未找到”。在 windows phone 上我一无所获。

以下是我使用 cordova CLI 创建应用程序的步骤

创建了一个 cordova 应用程序

添加平台

添加了插件 (https://github.com/chariotsolutions/phonegap-nfc.git)

添加了以下代码替换 index.js 文件中的 deviceready

    try {
        // Read NDEF formatted NFC Tags
        nfc.addNdefListener(
            function (nfcEvent) {
                var tag = nfcEvent.tag,
                    ndefMessage = tag.ndefMessage;

                // dump the raw json of the message
                // note: real code will need to decode
                // the payload from each record
                alert(JSON.stringify(ndefMessage));

                // assuming the first record in the message has 
                // a payload that can be converted to a string.
                alert(nfc.bytesToString(ndefMessage[0].payload).substring(3));
            },
            function () { // success callback
                alert("Waiting for NDEF tag");
            },
            function (error) { // error callback
                alert("Error adding NDEF listener " + JSON.stringify(error));
            }
        );
    } catch (ex) {
        alert(ex.message);
    }


    app.receivedEvent('deviceready');

}

压缩项目文件夹并上传到phone-gap-build。

获得项目构建并部署到 android 和 windows 8.1 phones(两台设备都启用了 nfc)。 Phone-gap 构建已使用 PhoneGap 3.7.0 构建应用程序

当我尝试执行应用程序时,在尝试注册侦听器时,Android 抱怨“Class 未找到”。 Windows phone 没有抛出任何错误(至少我看不到任何错误),但无法识别出示给它的任何 NFC 卡。 在 \nfcReaderB\platforms\android\src\com\chariotsolutions\nfc\plugin 下,我可以看到 android 平台

所需的 java 源文件

phone 上的 NFC 功能运行良好

代码可在 https://github.com/cmeegamarachchi/nfc

非常感谢帮助解决这个问题

问题是您使用 PhoneGap Build 但没有正确配置插件。命令行工具用于在本地构建时安装插件。对于 PhoneGap 构建,您需要在 config.xml.

中定义插件
<gap:plugin name="phonegap-nfc" source="npm" />

使用 phonegap 命令将项目上传到 PhoneGap Build 服务器。

phonegap remote build android

登录 http://build.phonegap.com 将应用程序下载到您的 phone。

代码的更新版本可用https://github.com/don/phonegap-nfc-issue-190

有关 PhoneGap Build 插件的更多信息,请参阅 http://docs.build.phonegap.com/en_US/configuring_plugins.md.html#Plugins