我们有一个用于模拟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标签发现,而不仅是针对活动?
OR
是否有解决此问题的方法?