Эмулируйте смарт-карту на Android, когда NFC Reader не отправляет APDU SELECT AID

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

Можно ли создать приложение, которое обрабатывает связь, если считыватель NFC не отправляет APDU «SELECT AID»? Либо создав приложение, в котором AID в файле манифеста пуст, либо создайте какое-то приложение по умолчанию.

Я не возражаю, если приложение должно быть на переднем плане, если это как-то помогает.

Заранее спасибо.


person FirstHorizon    schedule 22.10.2014    source источник


Ответы (1)


Нет, Android API в настоящее время не поддерживает это. Команды направляются приложениям только после получения команды SELECT (по имени AID/DF), которая соответствует AID, зарегистрированному в системе. Начиная с Android 4.4.4 нет механизма для определения универсального приложения/приложения по умолчанию.

Похоже, что устройства Android в настоящее время используют только механизм маршрутизации на основе AID, определенный в спецификации NCI форума NFC. Однако спецификация NCI также определяет маршрутизацию на основе протоколов и технологий. Эти механизмы маршрутизации могут указывать контроллеру NFC пересылать все сообщения независимо от команды SELECT (по имени AID/DF) процессору приложений/системе Android. Следовательно, может быть возможно реализовать модифицированную систему Android, которая разрешает маршрутизацию по умолчанию всех коммуникаций с приложением, но неясно, поддерживают ли контроллеры NFC, используемые в устройствах Android, механизмы маршрутизации на основе протоколов или технологий (похоже, их поддержка невозможна). быть необязательным).

person Michael Roland    schedule 04.11.2014
comment
Спасибо за ваш ответ в любом случае. Я надеюсь, что они включат эту функцию в будущем :-). - person FirstHorizon; 25.11.2014