Как навсегда отключить обнаружение тегов NDEF в приложении для Android, а не только для Activity? - PullRequest
0 голосов
/ 14 ноября 2018

У нас есть приложение, которое используется для симуляции 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 на уровне приложения, а не только для активности?

ИЛИ

Есть ли обходной путь для этогопроблема?

...