Двунаправленный Android Beam
Вот что я пытаюсь сделать с 2 Galaxy Nexuses под управлением Android 4.0 с возможностями NFC:
- Устройства A и B находятся достаточно близко для запуска пользовательского интерфейса Android Beam.
- Устройство A отправляет луч на устройство B
- Устройство B принимает луч, выполняет некоторую обработку и затем отправляет ответный луч обратно на устройство A
У меня начальный луч от A -> B работает нормально, но не связь обратно. Я хочу послать что-то большее, чем просто ACk, например, небольшую полезную нагрузку данных. Есть ли способ сделать это через NFC с текущими API-интерфейсами или мне придется смотреть в сторону связи WiFi/BT p2p?
5 ответов
Я не думаю, что это возможно, если вы не отсоедините устройства, а не соедините их снова и явно не передадите данные от устройства B к A с помощью интерфейса касания к лучу. Вы можете использовать NFC, чтобы инициировать соединение BT и получить работу.
Я сам не пробовал, но вы могли бы получить возможность двунаправленной связи, используя один телефон в режиме чтения / записи, а другой - в режиме эмуляции карт на основе хоста (HCE). Смотрите также эту тему: Режим чтения / записи NFC - это только для тегов?,
Я не знаю как, но это похоже на работу. Посмотрите на 10 минут 50 секунд в этом видео. Они демонстрируют одноранговый.
На данный момент (к сожалению) одноранговый режим доступен только на Android через Android Beam, который нельзя использовать для двунаправленной связи. Если вы хотите создать истинную двустороннюю связь, вы можете лучше использовать режимы чтения / записи и эмуляции карт. Когда эмулируется тег ISO/IEC 14443-4, вы можете использовать команды APDU (см. ISO/IEC 7816-4) для отправки двунаправленной информации.
В то время как два устройства находятся близко друг к другу, вы можете показать тост на устройстве B, чтобы убедиться, что оно получает сообщение NDEf