이 페이지에서

QNearFieldTarget Class

QNearFieldTarget 클래스는 대상 장치와 통신하기 위한 인터페이스를 제공합니다. 더 보기...

헤더: #include <QNearFieldTarget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
상속: QObject

공개 유형

class RequestId
enum AccessMethod { UnknownAccess, NdefAccess, TagTypeSpecificAccess, AnyAccess }
flags AccessMethods
enum Error { NoError, UnknownError, UnsupportedError, TargetOutOfRangeError, NoResponseError, …, UnsupportedTargetError }
enum Type { ProprietaryTag, NfcTagType1, NfcTagType2, NfcTagType3, NfcTagType4, …, MifareTag }

공개 함수

QNearFieldTarget(QObject *parent = nullptr)
virtual ~QNearFieldTarget()
QNearFieldTarget::AccessMethods accessMethods() const
bool disconnect()
bool hasNdefMessage()
int maxCommandLength() const
QNearFieldTarget::RequestId readNdefMessages()
QVariant requestResponse(const QNearFieldTarget::RequestId &id) const
QNearFieldTarget::RequestId sendCommand(const QByteArray &command)
QNearFieldTarget::Type type() const
QByteArray uid() const
bool waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
QNearFieldTarget::RequestId writeNdefMessages(const QList<QNdefMessage> &messages)

신호

void disconnected()
void error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
void ndefMessageRead(const QNdefMessage &message)
void requestCompleted(const QNearFieldTarget::RequestId &id)

상세 설명

QNearFieldTarget은 NFC 대상 장치와 통신하기 위한 일반 인터페이스를 제공합니다. 이 클래스는 NFC 포럼 장치와 NFC 포럼 태그 대상 모두를 지원합니다. 모든 대상별 클래스는 이 클래스를 상속받습니다.

type() 함수를 사용하여 대상 장치의 유형을 확인할 수 있습니다. uid() 함수는 대상의 고유 식별자를 반환합니다. accessMethods() 함수가 반환하는 AccessMethods 플래그를 검사하여 대상에서 지원하는 액세스 방법을 확인할 수 있습니다.

대상 기기가 NdefAccess 를 지원하는 경우, hasNdefMessage()를 호출하여 대상 기기에 저장된 NDEF 메시지가 있는지 확인할 수 있으며, readNdefMessages() 및 writeNdefMessages() 함수를 사용하여 NDEF 메시지를 가져오고 설정할 수 있습니다.

대상 기기가 TagTypeSpecificAccess 을 지원하는 경우, sendCommand()을 사용하여 대상 기기에 단일 전용 명령을 전송하고 응답을 수신할 수 있습니다.

멤버 유형 설명서

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

이 열거형은 근거리 대상체가 지원하는 접근 방식을 설명합니다.

상수값설명
QNearFieldTarget::UnknownAccess0x00타겟이 알 수 없는 액세스 유형을 지원합니다.
QNearFieldTarget::NdefAccess0x01타겟은 readNdefMessages() 및 writeNdefMessages()를 사용하여 NDEF 메시지를 읽고 쓰는 것을 지원합니다.
QNearFieldTarget::TagTypeSpecificAccess0x02타깃은 sendCommand()을 사용하여 태그 유형별 명령을 전송할 수 있습니다.
QNearFieldTarget::AnyAccess0xff타깃은 알려진 모든 액세스 유형을 지원합니다.

AccessMethods 유형은 QFlags<AccessMethod>에 대한 typedef입니다. 이 유형은 AccessMethod 값들의 OR 조합을 저장합니다.

enum QNearFieldTarget::Error

이 열거형은 근거리 표적이 보고하는 오류 코드를 설명합니다.

상수값설명
QNearFieldTarget::NoError0오류가 발생하지 않았습니다.
QNearFieldTarget::UnknownError1알 수 없는 오류가 발생했습니다.
QNearFieldTarget::UnsupportedError2요청된 작업은 이 근거리 타겟에서 지원되지 않습니다.
QNearFieldTarget::TargetOutOfRangeError3타겟이 더 이상 범위 내에 없습니다.
QNearFieldTarget::NoResponseError4대상이 응답하지 않았습니다.
QNearFieldTarget::ChecksumMismatchError5체크섬 검사 결과 응답이 손상된 것으로 감지되었습니다.
QNearFieldTarget::InvalidParametersError6태그 유형별 함수에 잘못된 매개변수가 전달되었습니다.
QNearFieldTarget::ConnectionError7타겟에 연결하지 못했습니다.
QNearFieldTarget::NdefReadError8대상에서 NDEF 메시지를 읽지 못했습니다.
QNearFieldTarget::NdefWriteError9대상 장치에 NDEF 메시지를 쓰기 실패했습니다.
QNearFieldTarget::CommandError10대상 장치에 명령을 전송하지 못했습니다.
QNearFieldTarget::TimeoutError11waitForRequestCompleted()에 지정된 시간 내에 요청을 완료할 수 없습니다.
QNearFieldTarget::UnsupportedTargetError12사용된 대상 기기가 지원되지 않습니다. 예를 들어, 클라이언트 앱에 필수 권한 및/또는 개인정보 보호 설정이 누락된 경우 이러한 오류가 발생할 수 있습니다.

enum QNearFieldTarget::Type

이 열거형은 대상이 감지된 태그의 유형을 나타냅니다.

상수값설명
QNearFieldTarget::ProprietaryTag0식별되지 않은 독점 대상 태그입니다.
QNearFieldTarget::NfcTagType11NFC 태그 유형 1 대상입니다.
QNearFieldTarget::NfcTagType22NFC 태그 유형 2 대상.
QNearFieldTarget::NfcTagType33NFC 태그 유형 3 대상.
QNearFieldTarget::NfcTagType44NFC 태그 유형 4 대상. 이 값은 NfcTagType4A 또는 아래의 NfcTagType4B로 NfcTagType4를 더 세분화할 수 없는 경우에 사용됩니다.
QNearFieldTarget::NfcTagType4A5ISO/IEC 14443-3A를 기반으로 하는 NFC 태그 유형 4 대상.
QNearFieldTarget::NfcTagType4B6ISO/IEC 14443-3B를 기반으로 하는 NFC 태그 유형 4 대상.
QNearFieldTarget::MifareTag7Mifare 대상.

멤버 함수 문서

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

parent 를 사용하여 새로운 근거리 타겟을 생성합니다.

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

근거리 표적을 파괴합니다.

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

이 근거리 대상에서 지원하는 액세스 메서드를 반환합니다.

bool QNearFieldTarget::disconnect()

타깃과의 연결을 닫아 다른 인스턴스에서 타깃과 통신할 수 있도록 합니다. 또한 QNearFieldTarget 가 소멸되면 연결이 닫힙니다. 명령을 처리하거나 NDEF 메시지를 읽거나 쓰기 위해서는 타깃 장치와의 연결이 (재)설정됩니다.

기존 연결이 성공적으로 종료된 경우에만 ` true `를 반환하며, 그렇지 않은 경우 ` false`를 반환합니다.

[signal] void QNearFieldTarget::disconnected()

이 신호는 근거리 표적이 근접 범위 밖으로 벗어나면 발생합니다.

[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)

이 신호는 id 요청을 처리하는 과정에서 오류가 발생했을 때 발생합니다. error 매개변수는 해당 오류를 설명합니다.

bool QNearFieldTarget::hasNdefMessage()

근거리 통신 대상에 NDEF 메시지가 하나 이상 저장되어 있으면 ` true `를 반환하고, 그렇지 않으면 ` false`를 반환합니다.

int QNearFieldTarget::maxCommandLength() const

sendCommand 를 통해 전송할 수 있는 최대 바이트 수를 반환합니다. 대상이 태그 유형별 명령어 전송을 지원하지 않는 경우 0이 반환됩니다.

sendCommand()도 참조하십시오 .

[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)

이 신호는 대상에서 완전한 NDEF message 가 읽혀졌을 때 발생합니다.

readNdefMessages()도 참조하십시오 .

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

근거리 통신 대상에 저장된 NDEF 메시지를 읽기 시작합니다. 요청의 완료 상태를 추적하는 데 사용할 수 있는 요청 ID를 반환합니다. 대상이 NDEF 메시지 읽기를 지원하지 않는 경우, 유효하지 않은 요청 ID가 반환됩니다.

각 NDEF 메시지마다 ` ndefMessageRead()` 신호가 발생합니다. 모든 NDEF 메시지 읽기가 완료되면 ` requestCompleted()` 신호가 발생합니다. 오류가 발생하면 ` error()` 신호가 발생합니다.

참고: NFC 포럼에서 정의한 대로 INITIALIZED 상태에 있는 태그에서 NDEF 메시지를 읽으려고시도하면 , 태그는 NDEF를 지원하도록 포맷되어 있지만 아직 메시지를 포함하고 있지 않기 때문에 NdefReadError 신호가 발생하며 읽기시도가 실패합니다.

[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)

이 신호는 id 요청이 완료되었을 때 발생합니다.

sendCommand()도 참조하십시오 .

QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const

id 요청에 대한 디코딩된 응답을 반환합니다. 요청이 알려지지 않았거나 아직 완료되지 않은 경우, 유효하지 않은 QVariant 가 반환됩니다.

QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)

근거리 대상에게 ` command `를 전송합니다. 요청의 완료 상태를 추적하는 데 사용할 수 있는 요청 ID를 반환합니다. 대상이 태그 유형별 명령어 전송을 지원하지 않는 경우, 유효하지 않은 요청 ID가 반환됩니다.

요청이 성공적으로 완료되면 ` requestCompleted()` 신호가 발신되며, 그렇지 않은 경우 ` error()` 신호가 발신됩니다.

요청이 성공적으로 완료되면 requestResponse() 함수를 통해 응답을 가져올 수 있습니다. 이 요청의 응답은 QByteArray 가 됩니다.

requestCompleted() 및 waitForRequestCompleted()도 참조하십시오 .

QNearFieldTarget::Type QNearFieldTarget::type() const

이 근거리 대상의 태그 유형을 반환합니다.

QByteArray QNearFieldTarget::uid() const

근거리 타겟의 UID를 반환합니다.

참고: iOS에서 이 함수는 NdefAccess 메서드를 사용하여 탐지된 근거리 타깃에 대해 빈 QByteArray 객체를 반환합니다.

QNearFieldTarget::AccessMethod도 참조하십시오 .

bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)

id 요청이 완료될 때까지 최대 msecs 밀리초 동안 대기합니다. 요청이 성공적으로 완료되고 requestCompleted() 시그널이 발생하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)

messages 에 포함된 NDEF 메시지를 대상에 기록합니다. 요청의 완료 상태를 추적하는 데 사용할 수 있는 요청 ID를 반환합니다. 대상이 NDEF 메시지 기록을 지원하지 않는 경우 유효하지 않은 요청 ID가 반환됩니다.

쓰기 작업이 성공적으로 완료되면 requestCompleted() 신호가 발생하며, 그렇지 않은 경우 error() 신호가 발생합니다.

© 2026 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.