Функция ReadNFC

Применимо к: приложениям на основе холста

Считывает метку радиочастотной связи ближнего действия (NFC).

Description

Используйте функцию ReadNFC для чтения NFC-метки, которая находится близко к вашему устройству. При вызове экран отображает инструкции по сканированию NFC-метки, и возврат происходит только после сканирования метки или истечения времени ожидания.

Столбец Тип Описание:
Идентификатор Текст Идентификатор тегов NFC, если он доступен.
NDEFRecords Таблицу Поддерживаемые записи NDEF, найденные в теге.

Одна запись NDEFRecord содержит следующие столбцы:

Столбец Тип Описание:
RTD Текст Определение типа записи (RTD) для метки. В настоящее время поддерживаются только Текст и URI.
TNF Число Формат имени типа (TNF) для метки. В настоящее время поддерживаются только форматы TNF Хорошо известно(1).
Текст Текст Текстовая полезная нагрузка тега NFC, если RTD равно ТЕКСТ, пусто в противном случае.
URI Гиперссылка Полезная нагрузка универсального кода ресурса (URI) NFC-метки, если RTD равно URI, пусто в противном случае.

Если запись NDEF не поддерживается (например, TNF не относится к типу Хорошо известный), то она не будет возвращена как часть таблицы NDEFRecords.

Обязательно проверяйте значения полезной нагрузки на значение пусто с помощью функции IsBlank перед ее использованием. Вам не нужно проверять значения RTD и TNF самостоятельно, поскольку они должны быть правильными значениями, чтобы поля Текст и URI имели значение, отличное от пусто.

Дополнительные значения RTD и TNF могут поддерживаться в будущем. При поддержке дополнительных значений будут также добавлены дополнительные столбцы полезной нагрузки. Необработанные значения RTD и TNF предоставлены в информационных целях и не нуждаются в изучении, если столбец полезных данных проверяется на наличие значения пустой. Дополнительную информацию об этих значениях и их использовании можно получить на странице форума NFC.

ReadNFC не требует использования тега, содержащего записи NDEF, но вы все равно можете получить идентификатор тега, если он доступен.

Функция ReadNFC может использоваться только в формулах поведения.

Заметка

  • ReadNFC поддерживается только при запуске приложения в собственном мобильном приложении, например в приложениях iOS и Android. Даже с поддерживаемым плеером устройство может не поддерживать NFC. Если в вашем приложении включен параметр Управление ошибками на уровне формул, функция вернет ошибку. В противном случае пользователю будет показано сообщение, и функция вернет пустую запись.
  • Убедитесь, что на вашем устройстве включена настройка NFC, чтобы использовать эту возможность.

Синтаксис

ReadNFC()

Примеры

Формула Описание: Результат
ReadNFC().Identifier Возвращает идентификатор тега NFC, если он существует. 04A1C301314003
ReadNFC().NDEFRecords Возвращает таблицу записей NDEF, найденных в теге NFC, если они имеют поддерживаемый тип и полезные данные. Результат NDEFRecords с примером записи.

Пошаговый пример

  1. Создайте пустое приложение на основе холста с форматом Телефон.

  2. Добавьте элемент управления Button.

  3. Дважды щелкните элемент управления кнопки, чтобы изменить текст кнопки на Считать тег NFC (или измените свойство Text).

  4. Установите для свойства OnSelect элемента управления кнопки эту формулу, которая будет добавлять элемент в нашу коллекцию:

    With(ReadNFC(),
        Set(id, Coalesce(Identifier, "No ID"));
        ForAll(NDEFRecords, Collect(tagRecords, {ID: id, Value: Coalesce(Text, URI)})))
    

    Приведенная выше формула введена как свойство OnSelect кнопки.

    Эта формула считывает тег NFC, используя функцию ReadNFC(), и отображает информацию о типе в отношении результата. Затем она собирает прочитанные теги NFC для заполнения коллекции tagRecords, которая будет использоваться для коллкции на следующих шагах.

  5. Добавьте элемент управления Gallery с пустым вертикальным макетом.

  6. При появлении запроса выберите коллекцию tagRecords как источник данных для этой коллекции. Это действие задает свойство Items элемента управления Gallery.

    Источник данных для коллекции, выбранной в качестве tagRecords.

  7. Переместите элемент управления Gallery так, чтобы он не перекрывал кнопку, и измените тип макета на Заголовок и подзаголовок.

    Макет коллекции.

  8. Измените формулу Заголовок в элементе управления Gallery на ThisItem.Value и измените формулу Подзаголовок в элементе управления Gallery на ThisItem.ID.

    Вы также можете удалить NextArrow из элемента управления Gallery, так как он не используется.

  9. Сохраните и опубликуйте приложение.

  10. Поскольку функцию ReadNFC() нельзя использовать в Power Apps Studio или в веб-браузере, откройте свое приложение на мобильном устройстве.

    Совет

    Приложение может появиться на вашем мобильном устройстве с небольшой задержкой. Если вы не видите приложение в списке, попробуйте обновить список приложений.

  11. Выберите Читать тег NFC и отсканируйте тег. Повторите процесс, чтобы добавить несколько тегов в свою коллекцию.

    Приложение на мобильном устройстве с примером чтения тега NFC и результатом в коллекции.