Можно ли сделать двустороннюю связь между двумя устройствами через NFC?

Я пытаюсь предоставить приложение, которое отправляет несколько данных между двумя различными устройствами через NFC. Например, device1 отправляет комментарий "date", а device2 получает комментарий через NFC-связь, а затем device2 проверяет комментарий, поступающий от device1. Для устройства 2 "дата" означает дату сегодняшнего дня, а затем устройство 2 отправляет ответное сообщение (например, 23.05.2013 14:21:45) одновременно. Для сообщения следует использовать не только комментарий "дата", но и другие комментарии. Например: когда device1 отправляет комментарий "кто ты" через NFC, device2 должен одновременно отправить "я устройство Алисы". Является ли это возможным? Могу ли я установить такую ​​связь между двумя разными устройствами одновременно? Спасибо за помощь.

2 ответа

Отправка данных через Android Beam в ответ на полученное сообщение NDEF, переданное через Android Beam, невозможна.

Технически протокол, основанный на Android Beam (LLCP), позволяет осуществлять двунаправленный обмен данными примерно по 240 логическим каналам одновременно. Эта возможность просто не доступна для приложений Android.

Можно надеяться на обновление API, но я бы не стал его ждать. Скрытый API для этого существовал в Android 2.3.3, но впоследствии был по какой-то причине удален.

Как сказал Нильс - только через NFC это невозможно из-за ограниченного Android API.

Однако я знаю об одном способе достижения этого путем использования хэндовера соединения. По сути, связь NFC используется для отправки некоторых учетных данных на другое устройство, которые позволяют им подключаться через Bluetooth.

Библиотека EasyNFC претендует на достижение этой функциональности Bluetooth. Я попробовал и думаю, что смог установить сокет, но никогда не проверял его должным образом. Я не нашел это слишком надежным, и я не хотел, чтобы в моем приложении было добавлено bluetooth, или не использовался интерфейс "Touch-to-beam".

Другие вопросы по тегам