QNearFieldTarget Class

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

Header: #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()를 사용하여 단일 전용 명령을 타겟에 보내고 응답을 검색할 수 있습니다.

멤버 유형 문서

열거형 QNearFieldTarget::AccessMethod
플래그 QNearFieldTarget::AccessMethods

니어필드 타겟이 지원하는 접근 메서드를 설명하는 Enum입니다.

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

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

enum QNearFieldTarget::Error

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

Constant설명
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

이 열거형은 대상이 감지된 태그의 유형을 설명합니다.

Constant설명
QNearFieldTarget::ProprietaryTag0미확인된 독점 대상 태그입니다.
QNearFieldTarget::NfcTagType11NFC 태그 유형 1 대상입니다.
QNearFieldTarget::NfcTagType22NFC 태그 유형 2 대상입니다.
QNearFieldTarget::NfcTagType33NFC 태그 유형 3 대상입니다.
QNearFieldTarget::NfcTagType44NFC 태그 유형 4 대상입니다. 이 값은 NfcTagType4를 아래의 NfcTagType4A 또는 NfcTagType4B로 더 세분화할 수 없는 경우에 사용됩니다.
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() 신호가 전송됩니다. requestCompleted () 신호는 모든 NDEF 메시지를 읽은 경우 전송됩니다. 오류가 발생하면 error() 신호가 전송됩니다.

참고: NFC 포럼에서 정의한 대로 초기화 상태인 태그에서 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 밀리초를 기다립니다. 요청이 성공적으로 완료되고 requestCompeted() 신호가 발생하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

messages 에 있는 NDEF 메시지를 대상에 씁니다. 요청의 완료 상태를 추적하는 데 사용할 수 있는 요청 ID를 반환합니다. 대상에서 NDEF 메시지 읽기를 지원하지 않는 경우 잘못된 요청 ID가 반환됩니다.

쓰기 작업이 성공적으로 완료되면 requestCompleted() 신호가 전송되고, 그렇지 않으면 error() 신호가 전송됩니다.

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