У меня похожая проблема с этим кодом (поправьте меня, если я ошибаюсь, но, похоже, это пример из описания пакета)).В моем случае я могу прочитать много тегов после запуска приложения и после начала чтения тегов (кнопка Start NFC).Но после нажатия кнопки Stop NFC и снова запуска кнопки NFC приложение не читает и не показывает теги.Я думаю, что теги читаются модулем NFC (Samsung A5 в моем случае, я слышу тот же звук), но форма приложения (страница) остается прежней - нет информации о тегах (только ноль).Когда я закрыл приложение и снова запустил его, теги снова были прочитаны.Я попытался изменить метод 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».Если я нажимаю кнопку Stop NFC и снова запускаю кнопку NFC, все работает нормально (одно чтение).Конечно, вы можете вызывать метод startNFC () программно и таким образом контролировать весь процесс чтения.Удачи!