Spec-Zone.ru › Qt

Класс QNearFieldManager

Класс QNearFieldManager предоставляет доступ к уведомлениям о событиях NFC. Подробнее...

Заголовок: #include <QNearFieldManager>
CMake: find_package(Qt6 COMPONENTS Nfc REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
С момента: Qt 5.2
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление enum class AdapterState { Offline, TurningOn, Online, TurningOff }

Функции публичного доступа

QNearFieldManager(QObject *parent = nullptr)
virtual ~QNearFieldManager()
bool isEnabled() const
bool isSupported(QNearFieldTarget::AccessMethod accessMethod = QNearFieldTarget::AnyAccess) const
void setUserInformation(const QString &message)
bool startTargetDetection(QNearFieldTarget::AccessMethod accessMethod)
void stopTargetDetection(const QString &errorMessage = QString())

Сигналы

void adapterStateChanged(QNearFieldManager::AdapterState state)
void targetDetected(QNearFieldTarget *target)
void targetDetectionStopped()
void targetLost(QNearFieldTarget *target)

Подробное описание

Устройства NFC Forum поддерживают два режима связи. Первый режим, точка-точка, используется для связи между двумя устройствами NFC Forum. Второй режим, мастер/раб, используется для связи между устройством NFC Forum и NFC Forum меткой или бесконтактной картой. Сигнал targetDetected() генерируется, когда устройство-цель попадает в зону связи. Связь может быть инициирована из слота, подключенного к этому сигналу.

Устройства NFC Forum обычно работают в режиме мастер в связи мастер/раб. Некоторые устройства также могут работать в режиме раб, так называемом режиме эмуляции карты. В этом режиме локальное устройство NFC эмулирует NFC Forum метку или бесконтактную карту.

Приложения могут подключиться к сигналам targetDetected() и targetLost() для получения уведомлений о том, когда NFC Forum метка входит или выходит из зоны действия. Перед отправкой этих сигналов необходимо начать обнаружение целевых устройств с помощью функции startTargetDetection(). Обнаружение целевых устройств можно остановить с помощью функции stopTargetDetection(). Когда целевой объект больше не требуется, его следует удалить, так как другие приложения могут быть заблокированы от доступа к целевому объекту.

Документация типов членов

[since 5.12] перечисление QNearFieldManager::AdapterState

Это перечисление описывает различные состояния адаптера NFC.

Постоянная Значение Описание
QNearFieldManager::AdapterState::Offline 1 Адаптер nfc находится в автономном режиме.
QNearFieldManager::AdapterState::TurningOn 2 Адаптер nfc включается.
QNearFieldManager::AdapterState::Online 3 Адаптер nfc подключен.
QNearFieldManager::AdapterState::TurningOff 4 Адаптер nfc выключается.

Это перечисление было введено или изменено в Qt 5.12.

Документация по функциям членов

QNearFieldManager::QNearFieldManager(QObject *parent = nullptr)

Создает новый менеджер ближнего поля с parent.

[signal, since 5.12] void QNearFieldManager::adapterStateChanged(QNearFieldManager::AdapterState state)

Этот сигнал генерируется всякий раз, когда изменяется состояние state адаптера NFC.

Примечание: В настоящее время этот сигнал генерируется только на Android.

Эта функция была введена в Qt 5.12.

[signal] void QNearFieldManager::targetDetected(QNearFieldTarget *target)

Этот сигнал генерируется всякий раз, когда обнаруживается целевой объект. Параметр target представляет собой обнаруженный целевой объект.

Этот сигнал будет генерироваться для всех обнаруженных целевых объектов.

QNearFieldManager управляет собственностью на target, однако он не будет уничтожен, пока не будет вызван деструктор QNearFieldManager. Владение может быть передано, вызвав setParent().

Не удаляйте target из слота, подключенного к этому сигналу, вместо этого вызовите deleteLater().

Примечание: если target удаляется до того, как он выходит из зоны действия, сигнал targetLost() не будет генерироваться.

См. также targetLost().

[signal, since 6.2] void QNearFieldManager::targetDetectionStopped()

Этот сигнал генерируется всякий раз, когда обнаружение целевых объектов останавливается.

Примечание: В основном этот сигнал генерируется при вызове stopTargetDetection(). Кроме того, пользователь может остановить обнаружение на iOS в всплывающем окне, отображаемом системой во время сканирования, что также приводит к генерации этого сигнала.

Эта функция была введена в Qt 6.2.

[signal] void QNearFieldManager::targetLost(QNearFieldTarget *target)

Этот сигнал генерируется всякий раз, когда целевой объект выходит из зоны действия. Параметр target представляет собой потерянный целевой объект.

Не удаляйте target из слота, подключенного к этому сигналу, используйте вместо этого deleteLater().

См. также QNearFieldTarget::disconnected().

[virtual] QNearFieldManager::~QNearFieldManager()

Уничтожает менеджер ближнего поля.

[since 6.2] bool QNearFieldManager::isEnabled() const

Возвращает true, если устройство имеет адаптер NFC и он включен; в противном случае возвращает false.

Эта функция была введена в Qt 6.2.

См. также isSupported().

[since 5.12] bool QNearFieldManager::isSupported(QNearFieldTarget::AccessMethod accessMethod = QNearFieldTarget::AnyAccess) const

Возвращает true, если базовое устройство имеет адаптер NFC; в противном случае возвращает false . Если указан accessMethod, функция возвращает true только в том случае, если адаптер NFC поддерживает заданный accessMethod.

Эта функция была введена в Qt 5.12.

См. также isEnabled().

[since 6.2] void QNearFieldManager::setUserInformation(const QString &message)

Устанавливает сообщение, отображаемое пользователю системой. Если обнаружение целевого объекта выполняется, message будет обновляться немедленно и может использоваться в качестве сообщения о прогрессе. Последнее установленное сообщение перед вызовом startTargetDetection() без сообщения об ошибке используется в качестве сообщения об успехе. Если обнаружение целевого объекта не выполняется, message будет использоваться в качестве начального сообщения при запуске следующего обнаружения. По умолчанию пользователю не отображается никакого сообщения.

END_OF_DOCUMENT_MARKER

Примечание: В настоящее время эта функция оказывает влияние только на iOS, так как во время сканирования система отображает всплывающее окно. В iOS это сообщение отображается как сообщение об ошибке при успешном завершении сканирования. Другие платформы проигнорируют сообщение.

Эта функция была добавлена в Qt 6.2.

См. также startTargetDetection() и stopTargetDetection().

bool QNearFieldManager::startTargetDetection(QNearFieldTarget::AccessMethod accessMethod)

Начинает обнаружение целевых объектов и возвращает true, если обнаружение цели было успешно начато; в противном случае возвращает false. Вызывает эмиссию сигнала targetDetected() при обнаружении цели в пределах близости. Будут переданы только метки с заданным accessMethod. Активное обнаружение продолжается до вызова stopTargetDetection().

Для обнаружения целевых объектов с другим accessMethod, необходимо сначала вызвать stopTargetDetection().

См. также stopTargetDetection().

void QNearFieldManager::stopTargetDetection(const QString &errorMessage = QString())

Останавливает обнаружение целевых объектов. Сигнал targetDetected() больше не будет эмитироваться до следующего вызова startTargetDetection(). Обнаруженные ранее целевые объекты остаются валидными.

Если предоставлено errorMessage, это подсказка для системы о том, что поставленная перед приложением цель не была достигнута. errorMessage и соответствующий значок ошибки отображаются пользователю. Вызов этой функции с пустым errorMessage подразумевает успешное завершение операции; в противном случае необходимо передать errorMessage в эту функцию.

Примечание: В настоящее время errorMessage оказывает влияние только на iOS, потому что система отображает всплывающее окно во время сканирования, где отображается errorMessage. Другие платформы проигнорируют этот параметр.

См. также setUserInformation().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qnearfieldmanager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API