QNearFieldTarget Class
La clase QNearFieldTarget proporciona una interfaz para comunicarse con un dispositivo de destino. Más...
| Cabecera: | #include <QNearFieldTarget> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Nfc)target_link_libraries(mytarget PRIVATE Qt6::Nfc) |
| qmake: | QT += nfc |
| Hereda: | QObject |
Tipos Públicos
| 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 } |
Funciones Públicas
| 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) |
Señales
| void | disconnected() |
| void | error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id) |
| void | ndefMessageRead(const QNdefMessage &message) |
| void | requestCompleted(const QNearFieldTarget::RequestId &id) |
Descripción detallada
QNearFieldTarget proporciona una interfaz genérica para comunicarse con un dispositivo de destino NFC. Tanto los dispositivos NFC Forum como los objetivos NFC Forum Tag son compatibles con esta clase. Todas las clases específicas de destino subclase de esta clase.
La función type() se puede utilizar para obtener el tipo de dispositivo de destino. La función uid() devuelve el identificador único del objetivo. Las banderas AccessMethods devueltas por la función accessMethods() pueden comprobarse para determinar qué métodos de acceso admite el objetivo.
Si el objetivo admite NdefAccess, se puede llamar a hasNdefMessage() para comprobar si el objetivo tiene un mensaje NDEF almacenado, y se pueden utilizar las funciones readNdefMessages() y writeNdefMessages() para obtener y establecer el mensaje NDEF.
Si el destino admite TagTypeSpecificAccess, puede utilizarse sendCommand() para enviar un único comando propietario al destino y recuperar la respuesta.
Documentación de tipos de miembros
enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods
Este enum describe los métodos de acceso que admite un objetivo de campo cercano.
| Constante | Valor | Descripción |
|---|---|---|
QNearFieldTarget::UnknownAccess | 0x00 | El objetivo admite un tipo de acceso desconocido. |
QNearFieldTarget::NdefAccess | 0x01 | El objetivo admite la lectura y escritura de mensajes NDEF utilizando readNdefMessages() y writeNdefMessages(). |
QNearFieldTarget::TagTypeSpecificAccess | 0x02 | El objetivo admite el envío de comandos específicos del tipo de etiqueta utilizando sendCommand(). |
QNearFieldTarget::AnyAccess | 0xff | El objetivo admite cualquiera de los tipos de acceso conocidos. |
El tipo AccessMethods es un typedef para QFlags<AccessMethod>. Almacena una combinación OR de valores AccessMethod.
enum QNearFieldTarget::Error
Este enum describe los códigos de error que reporta un objetivo de campo cercano.
| Constante | Valor | Descripción |
|---|---|---|
QNearFieldTarget::NoError | 0 | No se ha producido ningún error. |
QNearFieldTarget::UnknownError | 1 | Se ha producido un error no identificado. |
QNearFieldTarget::UnsupportedError | 2 | La operación solicitada no es compatible con este objetivo de campo cercano. |
QNearFieldTarget::TargetOutOfRangeError | 3 | El objetivo ya no está dentro del alcance. |
QNearFieldTarget::NoResponseError | 4 | El objetivo no ha respondido. |
QNearFieldTarget::ChecksumMismatchError | 5 | La suma de comprobación ha detectado una respuesta dañada. |
QNearFieldTarget::InvalidParametersError | 6 | Se han pasado parámetros no válidos a una función específica del tipo de etiqueta. |
QNearFieldTarget::ConnectionError | 7 | No se ha podido conectar con el objetivo. |
QNearFieldTarget::NdefReadError | 8 | No se han podido leer mensajes NDEF del objetivo. |
QNearFieldTarget::NdefWriteError | 9 | No se han podido escribir mensajes NDEF en el destino. |
QNearFieldTarget::CommandError | 10 | No se ha podido enviar un comando al destino. |
QNearFieldTarget::TimeoutError | 11 | La solicitud no pudo completarse en el tiempo especificado en waitForRequestCompleted(). |
QNearFieldTarget::UnsupportedTargetError | 12 | El objetivo utilizado no es compatible. Por ejemplo, esto puede ocurrir si faltan los derechos necesarios y/o la configuración de privacidad de la aplicación cliente. |
enum QNearFieldTarget::Type
Este enum describe el tipo de etiqueta como la que se detecta el objetivo.
| Constante | Valor | Descripción |
|---|---|---|
QNearFieldTarget::ProprietaryTag | 0 | Una etiqueta propietaria no identificada. |
QNearFieldTarget::NfcTagType1 | 1 | Un objetivo de etiqueta NFC tipo 1. |
QNearFieldTarget::NfcTagType2 | 2 | Una etiqueta NFC de tipo 2. |
QNearFieldTarget::NfcTagType3 | 3 | Una etiqueta NFC de tipo 3. |
QNearFieldTarget::NfcTagType4 | 4 | Una etiqueta NFC de tipo 4. Este valor se utiliza si el NfcTagType4 no puede refinarse mediante NfcTagType4A o NfcTagType4B. |
QNearFieldTarget::NfcTagType4A | 5 | Un objetivo de etiqueta NFC de tipo 4 basado en ISO/IEC 14443-3A. |
QNearFieldTarget::NfcTagType4B | 6 | Un objetivo de etiqueta NFC de tipo 4 basado en ISO/IEC 14443-3B. |
QNearFieldTarget::MifareTag | 7 | Un objetivo Mifare. |
Documentación de las funciones de los miembros
[explicit] QNearFieldTarget::QNearFieldTarget(QObject *parent = nullptr)
Construye un nuevo objetivo de campo cercano con parent.
[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()
Destruye el objetivo de campo cercano.
QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const
Devuelve los métodos de acceso admitidos por este objetivo de campo cercano.
bool QNearFieldTarget::disconnect()
Cierra la conexión con el objetivo para permitir la comunicación con el objetivo desde una instancia diferente. La conexión también se cerrará cuando se destruya QNearFieldTarget. Se (re)crea una conexión con el dispositivo de destino para procesar un comando o leer/escribir un mensaje NDEF.
Devuelve true sólo si se ha cerrado con éxito una conexión existente; en caso contrario, devuelve false.
[signal] void QNearFieldTarget::disconnected()
Esta señal se emite cuando el objetivo de campo cercano se aleja de su proximidad.
[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
Esta señal se emite cuando se produce un error al procesar la solicitud id. El parámetro error describe el error.
bool QNearFieldTarget::hasNdefMessage()
Devuelve true si hay al menos un mensaje NDEF almacenado en el objetivo de campo cercano; en caso contrario, devuelve false.
int QNearFieldTarget::maxCommandLength() const
Devuelve el número máximo de bytes que se pueden enviar con sendCommand. Se devolverá 0 si el objetivo no admite el envío de comandos específicos del tipo de etiqueta.
Véase también sendCommand().
[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)
Esta señal se emite cuando se ha leído un NDEF message completo del objetivo.
Véase también readNdefMessages().
QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()
Inicia la lectura de los mensajes NDEF almacenados en el objetivo de campo cercano. Devuelve un identificador de solicitud que puede utilizarse para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el objetivo no admite la lectura de mensajes NDEF.
Se emitirá una señal ndefMessageRead() por cada mensaje NDEF. La señal requestCompleted() se emitirá cuando se hayan leído todos los mensajes NDEF. La señal error() se emite si se produce un error.
Nota: Un intento de leer un mensaje NDEF de una etiqueta, que está en estado INICIALIZADO según lo definido por el Foro NFC, fallará con la señal NdefReadError, ya que la etiqueta está formateada para soportar NDEF pero aún no contiene un mensaje.
[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)
Esta señal se emite cuando se completa una solicitud id.
Véase también sendCommand().
QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const
Devuelve la respuesta descodificada para la solicitud id. Si la solicitud es desconocida o aún no se ha completado, se devuelve un QVariant no válido.
QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)
Envía command al objetivo de campo cercano. Devuelve un identificador de solicitud que puede utilizarse para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el objetivo no admite el envío de comandos específicos del tipo de etiqueta.
La señal requestCompleted() se emitirá cuando la solicitud se complete correctamente; de lo contrario, se emitirá la señal error().
Una vez completada con éxito la solicitud, la respuesta puede recuperarse desde la función requestResponse(). La respuesta de esta solicitud será un QByteArray.
Véase también requestCompleted() y waitForRequestCompleted().
QNearFieldTarget::Type QNearFieldTarget::type() const
Devuelve el tipo de etiqueta de este objetivo de campo cercano.
QByteArray QNearFieldTarget::uid() const
Devuelve el UID del objetivo de campo cercano.
Nota: En iOS, esta función devuelve un QByteArray vacío para un objetivo de campo cercano descubierto mediante el método NdefAccess.
Véase también QNearFieldTarget::AccessMethod.
bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
Espera hasta msecs milisegundos a que se complete la solicitud id. Devuelve true si la solicitud se completa correctamente y se emite la señal requestCompeted(); en caso contrario, devuelve false.
QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)
Escribe los mensajes NDEF en messages en el destino. Devuelve un identificador de solicitud que se puede utilizar para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el destino no admite la escritura de mensajes NDEF.
La señal requestCompleted() se emitirá cuando la operación de escritura se complete con éxito; en caso contrario, se emitirá la señal error().
© 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.