Вопрос по android – Можно ли использовать Android Beam между устройством Android и другим устройством NFC?

10

Я хотел бы реализовать связь NFC между моим Android-приложением и киоском с поддержкой NFC. Я прочиталдокументация и я понимаю, что отправлять данные можно двумя способами:

Via foreground NDEF pushing for API level 10 to 13 Via Android Beam from API level 14

Я думаю, что смогу сделать то, что хочу, с помощью первого решения, но я хотел бы знать, возможно ли использовать Android Beam между устройством Android и устройством без Android?

Спасибо за вашу помощь,

Ромен

Ваш Ответ

3   ответа
11

фактический базовый протокол практически одинаков. В обоих случаях одноранговая связь NFC осуществляется с использованием LLCP. В API 10–13 фактическим используемым протоколом передачи данных является NPP. В API 14 к этому добавляется SNEP, но он возвращается к NPP, когда другое устройство не поддерживает SNEP.

Поэтому, когда ваше устройство, отличное от Android, реализует SNEP и / или NPP через LLCP, оно может передавать данные и получать данные с устройства Android NFC. Существует несколько реализаций SNEP и LLCP для устройств считывания карт, см., Например,https://github.com/grundid/nfctools.

Error: User Rate Limit Exceeded Romain Piel
0

Проблема 28014: Включите реальную связь NFC p2p и возможность отключить функцию «Touch to Beam». UI
https://code.google.com/p/android/issues/detail?id=28014 Android Peer to Peer не работает вообще.

4

Прежде всего, обратите внимание, что есть 3 режима работы NFC {чтение / запись карты, эмуляция тегов и связь P2P}. Android поддерживает чтение / запись карт и связь P2P.

Связь с устройством, отличным от Android, через P2P довольно сложна, так как вы должны использовать NPP (протокол Ndef Push), основанный на LLCP (протокол управления логическим каналом). Ваша не Android-платформа должна будет реализовать LLCP, чтобы иметь возможность общаться. Я не уверен, что это уже сделано для NFC. Информацию о реализации АЭС / ООО можно найтиВот

Следующий подход заключается в использовании режима чтения / записи карты для связи с устройством, отличным от Android, работающим в режиме эмуляции карты. Таким образом, вы можете отправлять APDU на эмулируемый тег для отправки и получения данных. Я сделал этот подход в обратном порядке, используя BlackBerry для моего проекта. BlackBerry поддерживает эмуляцию карт, поэтому я использовал устройство, отличное от Android (ACR122U), для отправки APDU на BlackBerry.

В то время как первый подход (P2P), очевидно, является идеальным путем, второй может быть легче реализовать. В любом случае, в моем приложении это работало довольно хорошо, я создал систему, которая принимает платежи через NFC.

Обратите внимание, что ACR122U не имеет хорошей поддержки для эмуляции тегов NFC, поэтому он не подходит для вас.LibNFC Веб-сайт - отличное начало для поиска устройства, поддерживающего эмуляцию тегов.

Я сейчас закончил проект, и он прекрасно работает с устройством ACR122U. Если вам нужна помощь по второму подходу, пожалуйста, спросите.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Romain Piel

Похожие вопросы