У нас есть приложение, которое используется для симуляции POS-терминала, то есть оно взаимодействует с дебетовыми / кредитными картами через NFC.Во всех действиях приложения я использую:
nfcAdapter.enableReaderMode(this,
nfcCallback,
NfcAdapter.FLAG_READER_NFC_A |
NfcAdapter.FLAG_READER_NFC_B |
NfcAdapter.FLAG_READER_NFC_F |
NfcAdapter.FLAG_READER_NFC_V |
NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS |
NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK,
null
);
, чтобы отключить обнаружение NDEF, поскольку оно мешает обмену данными с картой.Это работает хорошо, но ТОЛЬКО в действии, то есть при запуске нового действия или его завершении, которое было вызвано с помощью startActivityForResult
, очевидно, существует это промежуточное состояние, когда ОС отправляет одно сообщение об обнаружении тега NDEF, например:
2018-11-14 09:07:11.794 802-3109/? D/NxpNciX: len = 16 > 00000D00A4040007D276000085010100
2018-11-14 09:07:11.794 802-3109/? D/NxpTml: PN54X - I2C Write successful.....
Основная проблема заключается в том, что это не повторяется, то есть иногда это происходит, иногда нет.Это большая проблема.
Есть ли способ отключить обнаружение тега NDEF на уровне приложения, а не только для активности?
ИЛИ
Есть ли обходной путь для этогопроблема?