Nativescript NFC插件似乎无法正常工作

时间:2019-05-15 07:14:41

标签: angular nativescript angular2-nativescript

我正在尝试从nfc中读取内容,并且仅在natviescript市场中找到一个插件。

https://github.com/EddyVerbruggen/nativescript-nfc

它可以检测并启用nfc(在控制台上登录)。但是读取nfc时不会调用它的回调函数,只是播放声音。没有其他的。

这是我的演示代码。

import { Injectable } from "@angular/core";
import { Nfc, NfcNdefData, NfcTagData } from "nativescript-nfc";
import { Subject } from "rxjs";

@Injectable({
    providedIn: 'root'
})
export class NfcReaderService {
    nfcData = new Subject();


    private nfc: Nfc = new Nfc();

    constructor() {
        this.nfc.available().then((avail) => {
            this.nfc.enabled().then((on) => {
                if (on) {
                    console.log("NFC Enabled!!!");
                    this.readNFC();
                    this.onTagDiscoverd();
                } else {
                    console.log("NFC Not Enabled");
                }
            });
        });
    }

    public readNFC() {
        this.nfc.setOnNdefDiscoveredListener((data: NfcNdefData) => {
            console.log("Nfc Data: ", data);
            this.nfcData.next(data);
            if (data.message) {
                for (let m in data.message) {
                    let record = data.message[m];
                    console.log("Ndef discovered! Message record: " + record.payloadAsString);
                }
            }
        });
    }


    public onTagDiscoverd() {
        this.nfc.setOnTagDiscoveredListener((data: NfcTagData) => {
            console.log("Discovered a tag with ID " + data.id);
        }).then(() => {
            console.log("OnTagDiscovered listener added");
        });
    }

}


这是日志输出

NFC Enabled!!!
JS: OnTagDiscovered listener added

从nfc芯片读取最快最有效的方法是什么?

0 个答案:

没有答案