Как отправлять данные между двумя устройствами с помощью NFC в Android?

Привет, я разрабатываю простое приложение с использованием NFC в Android. API NFC доступен для Android версии 2.3.3 и выше. Это документация и простой демонстрационный код для связи устройства Android с поддержкой NFC и тега NFC. Я нахожу образец кода по ссылке ниже.

http://developer.android.com/resources/samples/NFCDemo/index.html

И я не нашел никакого полезного кода для связи между двумя устройствами Android. Пожалуйста, предложите мне какой-нибудь пример, как мы можем сделать p2p-связь между двумя устройствами Android.

заранее спасибо


person Raghu Mudem    schedule 14.03.2012    source источник
comment
Я не могу найти демоверсию по этой ссылке?   -  person Hans En    schedule 25.02.2014


Ответы (2)


Извините, если мне нужно вас разочаровать, но активная p2p-связь между двумя Android-устройствами на данный момент невозможна. Хотя вы можете передавать сообщения NDEF между 2 устройствами с помощью p2p. Это работает следующим образом. Один из телефонов регистрирует сообщение NDEF для отправки, и как только другой телефон входит в поле другого телефона, происходит обмен этим сообщением. В ICS на отправляющем телефоне появляется пользовательский интерфейс Beam UI, который запрашивает у пользователя подтверждение отправки сообщения. Все это больше похоже на то, что один из телефонов имитирует метку, разница лишь в том, что используется протокол LLCP из связи.

Если такое поведение подходит для вашего варианта использования, вы можете найти в этом блоге хорошее объяснение того, как использовать для этого:

http://www.jessechen.net/blog/how-to-nfc-on-the-android-platform/

а также посмотрите документ NFCAdapter (enableForegroundNdefPush и enableForegroundDispatch)

http://developer.android.com/reference/android/nfc/NfcAdapter.html#enableForegroundNdefPush%28android.app.Activity,%20android.nfc.NdefMessage%29

person Kamen Goranchev    schedule 14.03.2012
comment
Ответ выше, по сути, правильный. Два дополнения: у вас может быть (независимое) p2p-соединение в 2-х направлениях, и enableForegroundNdefPush теперь устарел; пожалуйста, используйте _ 2_. - person NFC guy; 14.03.2012
comment
Спасибо за ответ @Kamen Goranchev. Я не тестировал образец кода. Я буду тестировать с двумя телефонами Nexus. Спасибо. - person Raghu Mudem; 14.03.2012

Это возможно, начиная с версии Android 4.x с сервисом Beam. Подробнее

person migueloop    schedule 17.02.2015