Контекст этого вопроса начинается при реализации решения, описанного в чрезвычайно полезных ответах на это вопрос. В итоге я написал другой код для телефонов с Android 4.4 (используя enableReaderMode
) и для более ранних версий (используя enableForegroundDispatch
).
После того, как мое приложение завершило взаимодействие с картой, я наблюдал два разных поведения:
- При использовании enableForegroundDispatch взаимодействия NFC между телефоном и картой не происходит, пока пользователь не извлечет карту из телефона и не поднесет ее снова.
- При использовании enableReaderMode, как только действие, в котором я закодировал взаимодействие телефона с картой, завершается, телефон снова пытается прочитать карту: запускается либо другое приложение (если оно подписано на события NFC), либо телефон воспроизводит раздражающий звук (карта NFC обнаружена, но ни одно приложение не прослушивает это событие). Это весьма нежелательно, так как ухудшает работу пользователя — прежде чем он/она успеет удалить карту, происходит что-то еще.
Есть ли способ настроить enableReaderMode
так, чтобы телефон вел себя как enableForegroundDispatch
?
enableReaderMode
? - person S.Pols   schedule 21.09.2014NfcAdapter
, документация находится здесь: developer.android.com/reference/android/nfc/, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle) - person mictter   schedule 21.09.2014