QNearFieldManager Class

QNearFieldManager 클래스는 NFC 이벤트에 대한 알림에 대한 액세스를 제공합니다. 더 보기...

Header: #include <QNearFieldManager>
CMake: find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
상속합니다: QObject

공용 타입

enum class AdapterState { Offline, TurningOn, Online, TurningOff }

공용 함수

QNearFieldManager(QObject *parent = nullptr)
virtual ~QNearFieldManager()
(since 6.2) bool isEnabled() const
bool isSupported(QNearFieldTarget::AccessMethod accessMethod = QNearFieldTarget::AnyAccess) const
(since 6.2) 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)
(since 6.2) void targetDetectionStopped()
void targetLost(QNearFieldTarget *target)

상세 설명

NFC 포럼 장치는 두 가지 통신 모드를 지원합니다. 첫 번째 모드인 피어투피어 통신은 두 NFC 포럼 장치 간의 통신에 사용됩니다. 두 번째 모드인 마스터/슬레이브 통신은 NFC 포럼 장치와 NFC 포럼 태그 또는 비접촉식 카드 간의 통신에 사용됩니다. targetDetected () 신호는 대상 장치가 통신 범위 내에 들어올 때 방출됩니다. 이 신호에 연결된 슬롯에서 통신을 시작할 수 있습니다.

NFC 포럼 장치는 일반적으로 마스터/슬레이브 통신에서 마스터로 작동합니다. 일부 장치는 카드 에뮬레이션 모드라고 하는 슬레이브로도 작동할 수 있습니다. 이 모드에서는 로컬 NFC 장치가 NFC 포럼 태그 또는 비접촉식 카드를 에뮬레이션합니다.

애플리케이션은 targetDetected() 및 targetLost() 신호에 연결하여 NFC 포럼 태그가 근처에 들어오거나 나갈 때 알림을 받을 수 있습니다. 이러한 신호가 방출되기 전에 startTargetDetection() 기능으로 대상 감지를 시작해야 합니다. stopTargetDetection () 함수를 사용하여 대상 감지를 중지할 수 있습니다. 대상이 더 이상 필요하지 않은 경우 다른 애플리케이션이 대상에 액세스하지 못하도록 차단될 수 있으므로 대상을 삭제해야 합니다.

Linux의 NFC

Linux NFC 프로젝트는 Linux 플랫폼에서 NFC를 지원하는 소프트웨어를 제공합니다. 근거리무선통신 데몬을 사용하면 DBus 인터페이스를 통해 지원되는 하드웨어에 액세스할 수 있습니다. QtNfc 소스로부터 빌드하거나 적절한 Linux 패키지 관리자를 통해 설치할 수 있는 근거리무선통신 버전 0.14가 필요합니다. 현재 모든 API 기능이 지원되는 것은 아닙니다. QtNfc 에서 DBus 인터페이스에 액세스하려면 neard 데몬이 실행 중이어야 합니다. 문제가 발생할 경우 'Qt.nfc.neard'에 대한 범주화된 로깅을 활성화하여 디버그 출력을 활성화할 수 있습니다.

멤버 유형 문서

enum class QNearFieldManager::AdapterState

이 열거형은 NFC 어댑터가 가질 수 있는 다양한 상태를 설명합니다.

Constant설명
QNearFieldManager::AdapterState::Offline1NFC 어댑터가 오프라인 상태입니다.
QNearFieldManager::AdapterState::TurningOn2NFC 어댑터가 켜져 있습니다.
QNearFieldManager::AdapterState::Online3NFC 어댑터가 온라인 상태입니다.
QNearFieldManager::AdapterState::TurningOff4NFC 어댑터가 꺼지고 있습니다.

멤버 기능 문서

[explicit] QNearFieldManager::QNearFieldManager(QObject *parent = nullptr)

parent 를 사용하여 새로운 근거리 현장 관리자를 구성합니다.

[virtual noexcept] QNearFieldManager::~QNearFieldManager()

근접 현장 관리자를 파괴합니다.

[signal] void QNearFieldManager::adapterStateChanged(QNearFieldManager::AdapterState state)

이 신호는 NFC 어댑터의 state 가 변경될 때마다 발신됩니다.

참고: 현재 이 신호는 Android에서만 발신됩니다.

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

장치에 NFC 어댑터가 있고 켜져 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

이 함수는 Qt 6.2에 도입되었습니다.

isSupported()도 참조하십시오 .

bool QNearFieldManager::isSupported(QNearFieldTarget::AccessMethod accessMethod = QNearFieldTarget::AnyAccess) const

기본 장치에 NFC 어댑터가 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. accessMethod 이 지정되면 이 함수는 NFC 어댑터가 지정된 accessMethod 을 지원하는 경우에만 true 을 반환합니다.

isEnabled()도 참조하세요 .

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

시스템이 사용자에게 표시할 메시지를 설정합니다. 대상 감지가 실행 중이면 message 이 즉시 업데이트되며 진행 메시지로 사용할 수 있습니다. 오류 메시지 없이 startTargetDetection()로 호출하기 전에 마지막으로 설정된 메시지가 성공 메시지로 사용됩니다. 대상 감지가 실행 중이 아닌 경우 다음 감지가 시작될 때 message 이 초기 메시지로 사용됩니다. 기본적으로 사용자에게 아무런 메시지가 표시되지 않습니다.

참고: 현재 이 기능은 시스템이 스캔하는 동안 팝업을 표시하기 때문에 iOS에서만 적용됩니다. iOS에서 이 message 은 스캔이 성공적으로 완료되면 표시되는 경고 메시지에 매핑됩니다. 다른 플랫폼에서는 message 을 무시합니다.

이 기능은 Qt 6.2에 도입되었습니다.

startTargetDetection() 및 stopTargetDetection()도 참조하세요 .

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

타겟 감지를 시작하고 타겟 감지가 성공적으로 시작되면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. 타겟이 근접하면 targetDetected() 신호를 발신합니다. 지정된 accessMethod 태그만 보고됩니다. 대상 감지는 stopTargetDetection()가 호출될 때까지 계속됩니다.

accessMethod, stopTargetDetection()을 먼저 호출해야만 다른 타겟을 감지할 수 있습니다.

참고: iOS에서는 NdefAccess와 TagTypeSpecificAccess에 대한 타겟 감지를 동시에 시작할 수 없습니다. 따라서 AnyAccess를 선택하면 NdefAccess가 대신 사용됩니다.

참고: neard를 사용하는 플랫폼에서는 태그가 감지되는 즉시 타겟 감지가 중지됩니다.

stopTargetDetection()도 참조하세요 .

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

대상 감지를 중지합니다. targetDetected () 신호는 startTargetDetection() 호출이 다시 이루어질 때까지 더 이상 발신되지 않습니다. 이전에 감지된 타겟은 여전히 유효합니다.

참고: iOS에서는 이 호출 이후 감지된 타겟이 유효하지 않게 됩니다(예: NDEF 메시지를 쓰거나 읽으려고 하면 오류가 발생함).

errorMessage 이 제공되면 애플리케이션의 목표가 달성되지 않았음을 시스템에 알리는 힌트입니다. errorMessage 및 일치하는 오류 아이콘이 사용자에게 표시됩니다. 빈 errorMessage 으로 이 함수를 호출하면 작업이 성공적으로 종료되었음을 의미하며, 그렇지 않은 경우 errorMessage 을 전달해야 합니다.

참고: 현재 errorMessageerrorMessage 이 표시되는 스캔 중에 시스템이 팝업을 표시하기 때문에 iOS에서만 효과가 있습니다. 다른 플랫폼에서는 이 매개변수를 무시합니다.

setUserInformation()도 참조하세요 .

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

이 신호는 타겟이 감지될 때마다 발신됩니다. target 매개변수는 감지된 타겟을 나타냅니다.

이 신호는 감지된 모든 타겟에 대해 발생합니다.

QNearFieldManagertarget 의 소유권을 유지하지만 QNearFieldManager 소멸자가 호출될 때까지 소멸되지 않습니다. setParent ()를 호출하여 소유권을 이전할 수 있습니다.

이 신호에 연결된 슬롯에서 target 을 삭제하지 말고 대신 deleteLater()을 호출하세요.

참고: targetLost() 신호가 근접하기 전에 target 을 삭제하면 () 신호가 전송되지 않습니다.

targetLost()도 참조하세요 .

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

이 신호는 대상 감지가 중지될 때마다 발생합니다.

참고: 대부분 stopTargetDetection()가 호출될 때 이 신호가 발생합니다. 또한 사용자는 스캔 중에 시스템이 표시하는 팝업 내에서 iOS에서 감지를 중지할 수 있으며, 이 경우에도 이 신호가 발생하게 됩니다.

이 기능은 Qt 6.2에 도입되었습니다.

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

이 신호는 타겟이 근접에서 벗어날 때마다 발산됩니다. target 매개변수는 분실된 타겟을 나타냅니다.

이 신호에 연결된 슬롯에서 target 을 삭제하지 말고 대신 deleteLater()을 사용하세요.

QNearFieldTarget::disconnected()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.