我正在尝试从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芯片读取最快最有效的方法是什么?