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 += nfcArtikel und Anleitungen
Protokollierungskategorien
Das Modul „ QtNfc “ exportiert die folgenden Protokoll logging categories:
| Protokollierungskategorie | Beschreibung |
|---|---|
| Qt NFC.neard | Aktiviert 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.