Auf dieser Seite

QNearFieldTarget Class

Die Klasse „QNearFieldTarget“ bietet eine Schnittstelle für die Kommunikation mit einem Zielgerät. Mehr...

Header: #include <QNearFieldTarget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
Erbt von: QObject

Öffentliche Typen

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 }

Öffentliche Funktionen

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)

Signale

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

Ausführliche Beschreibung

QNearFieldTarget bietet eine generische Schnittstelle für die Kommunikation mit einem NFC-Zielgerät. Sowohl NFC-Forum-Geräte als auch NFC-Forum-Tag-Ziele werden von dieser Klasse unterstützt. Alle zielspezifischen Klassen sind Unterklassen dieser Klasse.

Mit der Funktion ` type()` kann der Typ des Zielgeräts ermittelt werden. Die Funktion ` uid()` gibt die eindeutige Kennung des Ziels zurück. Anhand der von der Funktion ` accessMethods()` zurückgegebenen ` AccessMethods `-Flags lässt sich feststellen, welche Zugriffsmethoden vom Ziel unterstützt werden.

Wenn das Zielgerät „ NdefAccess “ unterstützt, kann „ hasNdefMessage()“ aufgerufen werden, um zu prüfen, ob auf dem Zielgerät eine NDEF-Nachricht gespeichert ist; mit den Funktionen „ readNdefMessages()“ und „ writeNdefMessages()“ lässt sich die NDEF-Nachricht abrufen bzw. festlegen.

Wenn das Ziel TagTypeSpecificAccess unterstützt, kann mit ` sendCommand()` ein einzelner proprietärer Befehl an das Ziel gesendet und die Antwort abgerufen werden.

Dokumentation zum Mitgliedstyp

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

Diese Enumeration beschreibt die Zugriffsmethoden, die ein Nahfeldziel unterstützt.

KonstanteWertBeschreibung
QNearFieldTarget::UnknownAccess0x00Das Ziel unterstützt einen unbekannten Zugriffstyp.
QNearFieldTarget::NdefAccess0x01Das Zielobjekt unterstützt das Lesen und Schreiben von NDEF-Nachrichten mithilfe von „ readNdefMessages()“ und „ writeNdefMessages()“.
QNearFieldTarget::TagTypeSpecificAccess0x02Das Ziel unterstützt das Senden von tagtypspezifischen Befehlen mithilfe von ` sendCommand()`.
QNearFieldTarget::AnyAccess0xffDas Ziel unterstützt jeden der bekannten Zugriffstypen.

Der Typ „AccessMethods“ ist ein typedef für QFlags<AccessMethod>. Er speichert eine ODER-Kombination von AccessMethod-Werten.

enum QNearFieldTarget::Error

Diese Enumeration beschreibt die Fehlercodes, die ein Nahfeldziel meldet.

KonstanteWertBeschreibung
QNearFieldTarget::NoError0Es ist kein Fehler aufgetreten.
QNearFieldTarget::UnknownError1Es ist ein nicht identifizierter Fehler aufgetreten.
QNearFieldTarget::UnsupportedError2Der angeforderte Vorgang wird von diesem Nahfeldziel nicht unterstützt.
QNearFieldTarget::TargetOutOfRangeError3Das Ziel befindet sich nicht mehr in Reichweite.
QNearFieldTarget::NoResponseError4Das Ziel hat nicht geantwortet.
QNearFieldTarget::ChecksumMismatchError5Die Prüfsumme hat eine beschädigte Antwort erkannt.
QNearFieldTarget::InvalidParametersError6An eine tagtyp-spezifische Funktion wurden ungültige Parameter übergeben.
QNearFieldTarget::ConnectionError7Die Verbindung zum Ziel konnte nicht hergestellt werden.
QNearFieldTarget::NdefReadError8Das Lesen von NDEF-Nachrichten vom Ziel ist fehlgeschlagen.
QNearFieldTarget::NdefWriteError9Das Schreiben von NDEF-Nachrichten auf das Ziel ist fehlgeschlagen.
QNearFieldTarget::CommandError10Das Senden eines Befehls an das Ziel ist fehlgeschlagen.
QNearFieldTarget::TimeoutError11Die Anfrage konnte nicht innerhalb der in ` waitForRequestCompleted()` angegebenen Zeit abgeschlossen werden.
QNearFieldTarget::UnsupportedTargetError12Das verwendete Ziel wird nicht unterstützt. Dies kann beispielsweise auftreten, wenn erforderliche Berechtigungen und/oder Datenschutzeinstellungen in der Client-App fehlen.

enum QNearFieldTarget::Type

Diese Enumeration beschreibt die Art des Tags, als das das Ziel erkannt wurde.

KonstanteWertBeschreibung
QNearFieldTarget::ProprietaryTag0Ein nicht identifiziertes proprietäres Ziel-Tag.
QNearFieldTarget::NfcTagType11Ein NFC-Tag vom Typ 1.
QNearFieldTarget::NfcTagType22Ein NFC-Tag vom Typ 2.
QNearFieldTarget::NfcTagType33Ein NFC-Tag-Ziel vom Typ 3.
QNearFieldTarget::NfcTagType44Ein NFC-Tag vom Typ 4 als Ziel. Dieser Wert wird verwendet, wenn der NfcTagType4 nicht durch die unten aufgeführten NfcTagType4A oder NfcTagType4B weiter spezifiziert werden kann.
QNearFieldTarget::NfcTagType4A5Ein NFC-Tag-Ziel vom Typ 4 basierend auf ISO/IEC 14443-3A.
QNearFieldTarget::NfcTagType4B6Ein Ziel vom Typ „NFC-Tag Typ 4“ auf Basis von ISO/IEC 14443-3B.
QNearFieldTarget::MifareTag7Ein Mifare-Ziel.

Dokumentation der Mitgliedsfunktionen

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

Erstellt ein neues Nahfeldziel mit „ parent “.

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

Zerstört das Ziel im Nahfeld.

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

Gibt die von diesem Nahfeldziel unterstützten Zugriffsmethoden zurück.

bool QNearFieldTarget::disconnect()

Schließt die Verbindung zum Zielgerät, um die Kommunikation mit dem Zielgerät von einer anderen Instanz aus zu ermöglichen. Die Verbindung wird ebenfalls geschlossen, wenn die Instanz „ QNearFieldTarget “ zerstört wird. Eine Verbindung zum Zielgerät wird (erneut) hergestellt, um einen Befehl zu verarbeiten oder NDEF-Nachrichten zu lesen bzw. zu schreiben.

Gibt „ true “ nur zurück, wenn eine bestehende Verbindung erfolgreich geschlossen wurde; andernfalls wird „ false “ zurückgegeben.

[signal] void QNearFieldTarget::disconnected()

Dieses Signal wird ausgegeben, wenn sich das Nahfeldziel aus der Nähe entfernt.

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

Dieses Signal wird ausgelöst, wenn bei der Verarbeitung der Anfrage id ein Fehler auftritt. Der Parameter „ error “ beschreibt den Fehler.

bool QNearFieldTarget::hasNdefMessage()

Gibt „ true “ zurück, wenn mindestens eine NDEF-Nachricht auf dem Nahfeld-Ziel gespeichert ist; andernfalls wird „ false “ zurückgegeben.

int QNearFieldTarget::maxCommandLength() const

Gibt die maximale Anzahl an Bytes zurück, die mit ` sendCommand` gesendet werden können. Wird der Wert 0 zurückgegeben, unterstützt das Zielgerät das Senden von tagtyp-spezifischen Befehlen nicht.

Siehe auch ` sendCommand()`.

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

Dieses Signal wird ausgegeben, wenn ein vollständiges NDEF- message vom Zielobjekt gelesen wurde.

Siehe auch ` readNdefMessages()`.

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

Beginnt mit dem Auslesen der auf dem Nahfeld-Ziel gespeicherten NDEF-Nachrichten. Gibt eine Anforderungs-ID zurück, mit der der Fertigstellungsstatus der Anforderung verfolgt werden kann. Wenn das Ziel das Auslesen von NDEF-Nachrichten nicht unterstützt, wird eine ungültige Anforderungs-ID zurückgegeben.

Für jede NDEF-Nachricht wird das Signal „ ndefMessageRead()“ ausgegeben. Das Signal „ requestCompleted()“ wird ausgegeben, wenn alle NDEF-Nachrichten gelesen wurden. Das Signal „ error()“ wird ausgegeben, wenn ein Fehler auftritt.

Hinweis: Der Versuch, eine NDEF-Nachricht von einem Tag zu lesen, das sich gemäß der Definition des NFC-Forums im Zustand „INITIALIZED“ befindet, schlägt mit dem Signal „ NdefReadError “ fehl, da das Tag zwar für die Unterstützung von NDEF formatiert ist, aber noch keine Nachricht enthält.

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

Dieses Signal wird ausgelöst, wenn eine Anfrage id abgeschlossen ist.

Siehe auch sendCommand().

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

Gibt die dekodierte Antwort für die Anfrage id zurück. Ist die Anfrage unbekannt oder noch nicht abgeschlossen, wird ein ungültiger QVariant zurückgegeben.

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

Sendet „ command “ an das Nahfeldziel. Gibt eine Anforderungs-ID zurück, mit der der Status der Anforderung verfolgt werden kann. Eine ungültige Anforderungs-ID wird zurückgegeben, wenn das Ziel das Senden von tagtyp-spezifischen Befehlen nicht unterstützt.

Bei erfolgreicher Ausführung der Anfrage wird das Signal „ requestCompleted()“ ausgelöst; andernfalls wird das Signal „ error()“ ausgelöst.

Sobald die Anfrage erfolgreich abgeschlossen ist, kann die Antwort über die Funktion ` requestResponse()` abgerufen werden. Die Antwort auf diese Anfrage ist ein ` QByteArray`.

Siehe auch requestCompleted() und waitForRequestCompleted().

QNearFieldTarget::Type QNearFieldTarget::type() const

Gibt den Tag-Typ dieses Nahfeld-Ziels zurück.

QByteArray QNearFieldTarget::uid() const

Gibt die UID des Nahfeld-Ziels zurück.

Hinweis: Unter iOS gibt diese Funktion einen leeren „ QByteArray “ für ein Nahfeldziel zurück, das mit der Methode „ NdefAccess “ erkannt wurde.

Siehe auch „ QNearFieldTarget::AccessMethod “.

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

Wartet bis zu msecs Millisekunden, bis die Anfrage id abgeschlossen ist. Gibt true zurück, wenn die Anfrage erfolgreich abgeschlossen wurde und das Signal requestCompeted() ausgelöst wurde; andernfalls wird false zurückgegeben.

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

Schreibt die NDEF-Nachrichten unter messages auf das Ziel. Gibt eine Anforderungs-ID zurück, mit der der Abschlussstatus der Anforderung verfolgt werden kann. Eine ungültige Anforderungs-ID wird zurückgegeben, wenn das Ziel das Schreiben von NDEF-Nachrichten nicht unterstützt.

Das Signal „ requestCompleted()“ wird ausgelöst, wenn der Schreibvorgang erfolgreich abgeschlossen wurde; andernfalls wird das Signal „ error()“ ausgelöst.

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