Я хочу реализовать совместное использование тега NFC без открытия приложения, например, при переходе из аэропорта с паспортом

#android #ios #flutter #nfc #flutter-platform-channel

#Android #iOS #трепетание #nfc #flutter-platform-channel

Вопрос:

Я хочу реализовать приложение, позволяющее пользователю передавать определенные данные на устройство чтения, не открывая мое приложение, например, applepay, googlepay airport passport passport

Ответ №1:

Если считыватель является только настоящим считывающим устройством, и единственное, что он ожидает сделать, это прочитать метку NFC (или устройство, притворяющееся тегом NFC, как в случае с вашим примером applepay, googlepay).

Тогда на iOS то, что вы хотите сделать, невозможно для вас, Apple позволяет себе это только.

На Android, который имеет лучшую поддержку NFC, можно написать службу эмуляции хост-карты, которая будет работать в фоновом режиме и будет притворяться тегом NFC. смотрите Документы https://developer.android.com/guide/topics/connectivity/nfc/hce

Комментарии:

1. Спасибо, @Andrew за информацию, но если я хочу выполнить действие для записи на IOS, возможно ли это?

2. Устройство iOS может быть «инициатором» в терминах связи NFC и записывать данные из запущенного приложения на «целевое» устройство в терминах связи NFC (чаще всего это тег или что-то, притворяющееся тегом). Но большинство устройств для чтения не будут находиться в режиме «целевого» устройства, если оно способно это сделать, оно будет ожидать инициирования связи. Если вы управляете аппаратным обеспечением для чтения, и оно обладает необходимыми возможностями, вы можете заставить приложение iOS отправлять данные на другое устройство NFC.

Ответ №2:

Я предлагаю прочитать документы Apple о «Core NFC», библиотеке, которая реализует NFC в iOS.

Я не думаю, что вы можете делать то, что просите. (Вы не можете передать тег RFC, пока ваше приложение приостановлено / закрыто или телефон заблокирован.)

Беглый взгляд на эти документы говорит о том, что вы можете добавить поддержку чтения фоновых тегов, а затем запустить «считыватель», передав его в виде тега NFC. Это позволит вам отображать уведомление. Как только пользователь нажмет на уведомление, ваше приложение может быть запущено и уведомлено. См. Раздел «Добавление поддержки чтения фоновых тегов».

Комментарии:

1. Для обмена данными с устройством «считывания» с телефона, когда вы предложили заменить «считыватель» на устройство, которое выполняет эмуляцию карты (инвертируя нормальные отношения), тогда телефону придется выполнять фоновую «запись» данных для отправки данных с телефона на «считыватель» и я не думаю, что iOS поддерживает фоновую запись NFC

2. В этом суть. Я также не думаю, что iOS поддерживает фоновое написание. Если у вас был отправляющий считыватель, вы могли бы постоянно использовать устройство iOS в фоновом режиме чтения. Когда он обнаруживает устройство чтения / записи, он может отображать уведомление для пользователя, который затем может нажать, чтобы вывести ваше приложение на передний план и передать. Я думаю, что это лучшее, что вы сможете сделать, учитывая ограничения Apple на сторонние приложения.

3. Да, верно, если вы можете изменить другое устройство «считывателя» на «тег» для отправки данных, что приведет к тому, что ваш метод фонового чтения запустит приложение переднего плана для отправки данных обратно, записав то, что, по его мнению, является тегом. Есть только 2 проблемы, которые не выполняются в фоновом режиме, как было запрошено, и другое устройство «считывания» обычно не будет находиться в требуемом режиме работы для этого.