У меня есть телефон LG D320n для Android, модуль PN532 nchc и модуль Stollmann NFCPlayer, с которым я могу правильно читать теги NFC.Android: эмуляция карты - прочитайте сообщение ndef с модулем n5c PN532
Я тестировал образец здесь: https://github.com/grundid/host-card-emulation-sample
Он отлично работает, когда я прочитал одно Android устройство в качестве тега с другим устройством Android в качестве читателя. Но я не могу прочитать устройство Android как тег с помощью считывателя PN532 через NFCPlayer. Я хочу, чтобы читатель читал сообщение NDEF с устройства Android, выступающего в качестве тега, но NFCPlayer даже не распознает устройство Android. Я думаю, что мне нужно написать некоторые изменения на стороне Android, но я не могу понять, что делать. Я думаю, что у меня недостаточно знаний о том, как работают NFC-коммуникации и HCE, хотя я читал это: https://developer.android.com/guide/topics/connectivity/nfc/hce.html
Я бы очень признателен за любые рекомендации, которые могут помочь мне понять, чего я здесь не хватает.
Прошу прощения за такой поздний ответ. У меня были другие проекты, которые нужно было сделать в первую очередь. Ваш ответ мне очень помог. Я понял, что мне не нужны ndef-сообщения, поэтому я d не проверяйте эту часть). Большое спасибо! –
привет, у меня есть другой вопрос. Он работает плавно с OnePluse One с CM. в logcat у меня есть эти выходы: 07-08 10: 30: 03.445 1468-26171 /? D/BrcmNfcJni: RoutingManager :: stackCallback: event = 0x18 07-08 10: 30: 03.450 1468-26171 /? D/HostEmulationManager: notifyHostEmulationActivated 07-08 10: 30: 03.452 1468-26171 /? D/BrcmNfcJni: RoutingManager :: stackCallback: event = 0x17 07-08 10: 30: 03.452 1468-26171 /? D/BrcmNfcJni: RoutingManager :: stackCallback: NFA_CE_DATA_EVT; стат = 0x0; ч = 0x301; data len = 13 –
, а NFCPlayer находит мое устройство Android как ISO 14443-A с 1234 ID, а затем я могу обменять. PDU. , но с другим устройством (LG d320n) он не работает ... NFCPlayer не распознает его, а RoutingManager :: stackCallback: event = 0x18 или notifyHostEmulationActivated не вызывается, как я мог видеть его в logcat. почему это? Интересно, что однопроцессорное устройство распознает LG с помощью grundid app (режим приемника). Заранее спасибо! –