我是新手。我正在使用此nfc plugin在android应用中读取nfc标签。目前,当我打开我的应用程序时,我可以扫描一次标签。但是,如果我尝试扫描多个标签,则不会读取任何内容。 Here是我从插件示例中使用的示例代码。 任何帮助将不胜感激
答案 0 :(得分:0)
我对这段代码有类似的问题(如果我错了,请纠正我,但是这似乎是软件包说明中的示例)。就我而言,我可以在启动应用程序之后和开始读取标签(“开始NFC”按钮)之后读取许多标签。但是在按下“停止NFC”按钮并再次按下“启动NFC”按钮后,应用无法读取,也不会显示标签。我认为标签是由nfc模块读取的(在我的情况下为三星A5,我可以听到相同的声音),但应用程序表单(页面)保持不变-没有标签信息(仅null)。当我关闭一个应用程序并重新启动时,再次读取了标签。我尝试更改一些startNFC()方法,例如:
Future<void> startNFC() async {
NfcData response;
setState(() {
_nfcData = NfcData();
_nfcData.status = NFCStatus.reading;
});
print('NFC: Scan started');
try {
print('NFC: Scan readed NFC tag');
Stream<NfcData> res = await FlutterNfcReader.read;
if (res != null) {
response = await res.first;
}
} on PlatformException {
print('NFC: Scan stopped exception');
}
setState(() {
_nfcData = response;
});
}
现在,点击开始NFC按钮后,我可以读取一次标签。如果我点击“停止NFC”按钮,然后再次点击“启动NFC”按钮,则一切正常(一次读取)。当然,您可以通过编程方式调用startNFC()方法,并以此方式控制整个读取过程。祝你好运!