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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNearFieldTarget::UnknownAccess | 0x00 | Das Ziel unterstützt einen unbekannten Zugriffstyp. |
QNearFieldTarget::NdefAccess | 0x01 | Das Zielobjekt unterstützt das Lesen und Schreiben von NDEF-Nachrichten mithilfe von „ readNdefMessages()“ und „ writeNdefMessages()“. |
QNearFieldTarget::TagTypeSpecificAccess | 0x02 | Das Ziel unterstützt das Senden von tagtypspezifischen Befehlen mithilfe von ` sendCommand()`. |
QNearFieldTarget::AnyAccess | 0xff | Das 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNearFieldTarget::NoError | 0 | Es ist kein Fehler aufgetreten. |
QNearFieldTarget::UnknownError | 1 | Es ist ein nicht identifizierter Fehler aufgetreten. |
QNearFieldTarget::UnsupportedError | 2 | Der angeforderte Vorgang wird von diesem Nahfeldziel nicht unterstützt. |
QNearFieldTarget::TargetOutOfRangeError | 3 | Das Ziel befindet sich nicht mehr in Reichweite. |
QNearFieldTarget::NoResponseError | 4 | Das Ziel hat nicht geantwortet. |
QNearFieldTarget::ChecksumMismatchError | 5 | Die Prüfsumme hat eine beschädigte Antwort erkannt. |
QNearFieldTarget::InvalidParametersError | 6 | An eine tagtyp-spezifische Funktion wurden ungültige Parameter übergeben. |
QNearFieldTarget::ConnectionError | 7 | Die Verbindung zum Ziel konnte nicht hergestellt werden. |
QNearFieldTarget::NdefReadError | 8 | Das Lesen von NDEF-Nachrichten vom Ziel ist fehlgeschlagen. |
QNearFieldTarget::NdefWriteError | 9 | Das Schreiben von NDEF-Nachrichten auf das Ziel ist fehlgeschlagen. |
QNearFieldTarget::CommandError | 10 | Das Senden eines Befehls an das Ziel ist fehlgeschlagen. |
QNearFieldTarget::TimeoutError | 11 | Die Anfrage konnte nicht innerhalb der in ` waitForRequestCompleted()` angegebenen Zeit abgeschlossen werden. |
QNearFieldTarget::UnsupportedTargetError | 12 | Das 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNearFieldTarget::ProprietaryTag | 0 | Ein nicht identifiziertes proprietäres Ziel-Tag. |
QNearFieldTarget::NfcTagType1 | 1 | Ein NFC-Tag vom Typ 1. |
QNearFieldTarget::NfcTagType2 | 2 | Ein NFC-Tag vom Typ 2. |
QNearFieldTarget::NfcTagType3 | 3 | Ein NFC-Tag-Ziel vom Typ 3. |
QNearFieldTarget::NfcTagType4 | 4 | Ein 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::NfcTagType4A | 5 | Ein NFC-Tag-Ziel vom Typ 4 basierend auf ISO/IEC 14443-3A. |
QNearFieldTarget::NfcTagType4B | 6 | Ein Ziel vom Typ „NFC-Tag Typ 4“ auf Basis von ISO/IEC 14443-3B. |
QNearFieldTarget::MifareTag | 7 | Ein 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.