Может ли телефон Android NFC выступать в качестве тега NFC? - PullRequest
89 голосов
/ 26 мая 2011

Из того, что я понял до сих пор, телефон NFC будет действовать как считыватель NFC, который будет считывать данные из тега NFC. Теперь мой вопрос, можем ли мы изменить это? Можем ли мы заставить телефон Android NFC вести себя как тег, с которого считыватель NFC будет получать данные?

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

Ответы [ 12 ]

29 голосов
/ 26 мая 2011

В настоящее время я отвечаю «нет» или «с трудом», но это может со временем измениться по мере развития API NFC для Android.

Существует три режима взаимодействия NFC:

  1. Reader-Writer: телефон читает теги и записывает их.Это не эмуляция карты, а устройство чтения / записи NFC.Следовательно, вы не можете эмулировать тег в этом режиме.

  2. Peer-to-Peer: телефон может читать и передавать сообщения ndef.Если считыватель тегов поддерживает одноранговый режим, то телефон может выступать в качестве тега.Тем не менее, я не уверен, использует ли android свой собственный протокол поверх протокола LLCP (протокол логического соединения NFC), что затем не позволит большинству читателей воспринимать телефон как тег nfc.

  3. Режим эмуляции карты: телефон использует защищенный элемент для эмуляции смарт-карты или другого бесконтактного устройства.Я не уверен, что это запущено еще, но может дать многообещающее.Однако использование защищенного элемента может потребовать от поставщика оборудования или какого-либо другого лица проверить ваше приложение / дать ему разрешения для доступа к защищенному элементу.Это не так просто, как создать обычное приложение NFC для Android.

Подробнее здесь: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Реальный вопрос был бы: почему вы пытаетесь эмулировать простой старый тег nfc?Есть ли какое-то приложение, о котором я не думаю?Обычно вы хотите эмулировать что-то вроде транзитной карты, ключа доступа или кредитной карты, для которой требуется защищенный элемент (думаю, но не уверен).

17 голосов
/ 26 мая 2011

Можем ли мы сделать Android NFC в качестве тега, с которого считыватель NFC будет получать данные?

Nexus S поддерживает режим peer-to-peer ,что, как следует из его названия, заставляет один телефон выступать в качестве тега, который может прочитать другой телефон.В этом году была действительно хорошая сессия ввода-вывода Google на NFC.Я бы порекомендовал посмотреть его, если вы вообще заинтересованы в NFC.

10 голосов
/ 13 ноября 2013

Проверьте режим NFC на основе хост-карты (HCE), доступный в Android 4.4.

Руководство по API: https://developer.android.com/guide/topics/connectivity/nfc/hce.html

9 голосов
/ 02 ноября 2013

да, вы можете. Android kitkat усиливает эту функциональность здесь

3 голосов
/ 05 февраля 2012

Читайте здесь: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9?pli=1

Я сам не проверял, но, похоже, людям снова удалось включить скрытый код в Android.Кажется, они могут эмулировать карту Mifare Classic (iso-14443).Скоро я сам протестирую, это выглядит очень интересно.

Если вы хотите сделать это для коммерческого / бесплатного приложения, у вас будут трудные времена, ваши пользователи не захотят менять свое ядро ​​наподдержите ваше приложение.

Обновление: будет простой прием, чтобы ваш телефон эмулировал билет:
Вы можете получить наклейку NFC и положить ее на телефон или на телефон.Таким образом, вы сможете читать и записывать его в любое время, а другие устройства также могут читать и записывать его.
Это просто идея, которая у меня была, я никогда не видел, чтобы она использовалась где-либо, разумеется;)

2 голосов
/ 18 января 2012

В сеансе Google io о NFC, раздел qa.Возник такой вопрос:

эмуляция карты?Отсутствует поддержка API для эмуляции карт. Нет единообразного взаимодействия с пользователем при эмуляции карт и нет убедительной истории

2 голосов
/ 23 ноября 2011

Да, взгляните на NDEF Push в NFCManager - с Android 4 теперь можно даже создать NDEFMessage для отправки на активное устройство во время взаимодействия.

1 голос
/ 26 мая 2011

Если вы хотите получить устройство NFC с питанием, которое претендует на то, чтобы быть пассивным (например, тег) ... не уверен, насколько хорошо оно работает, но приложение для Android NFCClassic подразумевает запись содержимого тега, а затем позволяет тег активировать икажется скопированным тегом для считывателей NFC.Создает библиотеку записанных тегов.

0 голосов
/ 24 апреля 2014

Да, вы можете в режиме Peer-To-Peer

Режим Peer-To-Peer


Двунаправленное P2P-соединение для обмена данными между устройствами

–Близкие взаимодействия, вызванные

–Nexus S: устройства должны располагаться вплотную

Пример применения

- обмен визитками

- передача билетов и оплата P2P

- обмен веб-страницами, обмен видео с Youtube

- совместное использование приложений

0 голосов
/ 31 января 2012

Вы определенно можете сделать так, чтобы телефон Android записывал в устройство чтения тегов, используя функцию NDEFPush в поддержке одноранговой связи, но вам также потребуется написать код на стороне устройства чтения тегов, чтобы использовать одноранговую связь.(llcp).

...