Auf dieser Seite

Qt NFC

Die NFC-API ermöglicht die Kommunikation zwischen NFC-fähigen Geräten.

Derzeit wird die API unter Android, iOS und Linux mit Neard v0.14 oder höher unterstützt. Dieses Modul bietet außerdem eingeschränkten Zugriff auf Lesegeräte, die die PC/SC- Spezifikation unter Linux, macOS und Windows unterstützen.

NFC ist eine drahtlose Nahbereichstechnologie (weniger als 20 Zentimeter) mit einer maximalen Übertragungsrate von 424 Kbit/s. NFC eignet sich ideal für die Übertragung kleiner Datenpakete, wenn zwei Geräte aneinander gehalten werden.

Das NFC-Modul stellt APIs für die Interaktion mit NFC-Forum-Tags und NFC-Forum-Geräten bereit. Es kann Ziele und Ausfälle erkennen, NDEF-Nachrichten-Handler registrieren, NDEF-Nachrichten auf NFC-Forum-Tags lesen und schreiben sowie tag-spezifische Befehle senden.

Verwendung des Moduls

Die Verwendung der C++-API eines Qt-Moduls erfordert die Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

Erstellen mit CMake

Verwenden Sie den Befehl „ find_package() “, um die benötigte Modulkomponente im Paket „ Qt6 “ zu finden:

find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)

Weitere Details finden Sie in der Übersicht „Erstellen mit CMake “.

Erstellen mit qmake

Um das Modul für den Build mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variablen „ QT “ in die .pro-Datei des Projekts ein:

QT += nfc

Artikel und Anleitungen

Protokollierungskategorien

Das Modul „ QtNfc “ exportiert die folgenden Protokoll logging categories:

ProtokollierungskategorieBeschreibung
Qt NFC.neardAktiviert die Protokollierung der Neard/Linux-Implementierung

Beispiele

Referenz

Sicherheitshinweise

Der Inhalt eines NFC-Tags darf nicht als vertrauenswürdige Eingabe behandelt werden. Es liegt in der Verantwortung des Anwendungsentwicklers, die Daten vor ihrer Verwendung zu validieren.

URIs

Funktionen wie „ QNdefNfcUriRecord::uri()“ und „ QNdefNfcSmartPosterRecord::uri()“ geben URIs zurück, die direkt aus dem Tag-Inhalt dekodiert wurden. Anwendungen können beispielsweise überprüfen, ob das Schema dem entspricht, das die Anwendung erwartet (z. B. „ https “ statt „ file “ oder „ javascript “), bevor sie eine zurückgegebene URI öffnen, laden oder darauf reagieren.

Symbol-Daten

Funktionen wie QNdefNfcIconRecord::data() und QNdefNfcSmartPosterRecord::icon() geben rohe Byte-Arrays zurück, die im Tag eingebettete Icon-Daten enthalten. Da sowohl der MIME-Typ als auch der Inhalt vom Tag-Autor bereitgestellt werden, entsprechen die tatsächlichen Bytes möglicherweise nicht dem angegebenen Typ.

Anwendungen sollten das Ergebnis nach der Dekodierung überprüfen, anstatt davon auszugehen, dass die Daten gültig sind. So ist beispielsweise die direkte Übergabe der Daten an QImage in der Regel sicher, da dieses die Validierung übernimmt. Es wird jedoch empfohlen, bei der manuellen Verarbeitung der Daten oder bei der Verwendung von Nicht-Qt-Tools eine zusätzliche Validierung durchzuführen.

Modulentwicklung

Unter „ Qt NFC “ sind wichtige Änderungen an der Modul-API und der Funktionalität aufgeführt, die für die Qt-6-Serie von Qt vorgenommen wurden.

Lizenzen

Qt NFC ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Softwarelizenzen verfügbar. Seit Qt 5.4 sind diese freien Softwarelizenzen die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Weitere Details finden Sie unter Qt-Lizenzierung.

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