Команда NDEF Select отправляется даже после включения режима чтения с флагом пропуска NDEF

Мы работаем над POC для эмуляции чтения платежей с Android, но при нажатии Visa и Mastercard устройство Android отправляет команду выбора NDEF. Как мы можем избежать отправки Android-устройством этой команды?

Команда выбора NDEF: 00A4040007D276000085010100

Пробовал использовать FLAG_READER_SKIP_NDEF_CHECK, Пробовал setNdefPushMessage(null,activity), Пробовал конфигурацию res/xml для выбора только технических NfcA, NfcB, Пробовал android.nfc.disable_beam_default в качестве конфигурации метаданных.

Мы включили режим чтения Android, как показано ниже.

private static final int READER_FLAGS =
       NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NFC_B |
               NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK |
               NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS;

nfcAdapter.enableReaderMode(activity, readerCallback, READER_FLAGS, new 
Bundle());

Мы не хотим, чтобы Android-ридер отправлял команду NDEF при касании карты.


person Pavan Annayya    schedule 22.08.2019    source источник


Ответы (1)


enableReaderMode: ограничивает контроллер NFC режимом чтения, когда при условии Activity находится на переднем плане. Итак, убедитесь, что вызывающая активность находится на переднем плане, когда тег обнаруживается. Смерть этого действия приведет к сбросу этих флагов, применяемых к NfcService.

person Padmanabha V    schedule 18.09.2019