class QNearFieldTarget

The QNearFieldTarget class provides an interface for communicating with a target device. More

Inheritance diagram of PySide6.QtNfc.QNearFieldTarget

Synopsis

Methods

Signals

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description

QNearFieldTarget provides a generic interface for communicating with an NFC target device. Both NFC Forum devices and NFC Forum Tag targets are supported by this class. All target specific classes subclass this class.

The type() function can be used to get the type of the target device. The uid() function returns the unique identifier of the target. The AccessMethods flags returns from the accessMethods() function can be tested to determine which access methods are supported by the target.

If the target supports NdefAccess , hasNdefMessage() can be called to test if the target has a stored NDEF message, readNdefMessages() and writeNdefMessages() functions can be used to get and set the NDEF message.

If the target supports TagTypeSpecificAccess , sendCommand() can be used to send a single proprietary command to the target and retrieve the response.

class Type

This enum describes the type of tag the target is detected as.

Constant

Description

QNearFieldTarget.ProprietaryTag

An unidentified proprietary target tag.

QNearFieldTarget.NfcTagType1

An NFC tag type 1 target.

QNearFieldTarget.NfcTagType2

An NFC tag type 2 target.

QNearFieldTarget.NfcTagType3

An NFC tag type 3 target.

QNearFieldTarget.NfcTagType4

An NFC tag type 4 target. This value is used if the NfcTagType4 cannot be further refined by NfcTagType4A or NfcTagType4B below.

QNearFieldTarget.NfcTagType4A

An NFC tag type 4 target based on ISO/IEC 14443-3A.

QNearFieldTarget.NfcTagType4B

An NFC tag type 4 target based on ISO/IEC 14443-3B.

QNearFieldTarget.MifareTag

A Mifare target.

class AccessMethod

(inherits enum.Flag) This enum describes the access methods a near field target supports.

Constant

Description

QNearFieldTarget.UnknownAccess

The target supports an unknown access type.

QNearFieldTarget.NdefAccess

The target supports reading and writing NDEF messages using readNdefMessages() and writeNdefMessages() .

QNearFieldTarget.TagTypeSpecificAccess

The target supports sending tag type specific commands using sendCommand() .

QNearFieldTarget.AnyAccess

The target supports any of the known access types.

class Error

This enum describes the error codes that a near field target reports.

Constant

Description

QNearFieldTarget.NoError

No error has occurred.

QNearFieldTarget.UnknownError

An unidentified error occurred.

QNearFieldTarget.UnsupportedError

The requested operation is unsupported by this near field target.

QNearFieldTarget.TargetOutOfRangeError

The target is no longer within range.

QNearFieldTarget.NoResponseError

The target did not respond.

QNearFieldTarget.ChecksumMismatchError

The checksum has detected a corrupted response.

QNearFieldTarget.InvalidParametersError

Invalid parameters were passed to a tag type specific function.

QNearFieldTarget.ConnectionError

Failed to connect to the target.

QNearFieldTarget.NdefReadError

Failed to read NDEF messages from the target.

QNearFieldTarget.NdefWriteError

Failed to write NDEF messages to the target.

QNearFieldTarget.CommandError

Failed to send a command to the target.

QNearFieldTarget.TimeoutError

The request could not be completed within the time specified in waitForRequestCompleted() .

QNearFieldTarget.UnsupportedTargetError

The target used is unsupported. As example this can occur on missing required entitlement and/or privacy settings from the client app.

__init__([parent=None])
Parameters:

parentQObject

Constructs a new near field target with parent.

accessMethods()
Return type:

Combination of AccessMethod

Returns the access methods supported by this near field target.

disconnect()
Return type:

bool

Closes the connection to the target to enable communication with the target from a different instance. The connection will also be closed, when the QNearFieldTarget is destroyed. A connection to the target device is (re)created to process a command or read/write a NDEF messages.

Returns true only if an existing connection was successfully closed; otherwise returns false.

disconnected()

This signal is emitted when the near field target moves out of proximity.

error(error, id)
Parameters:
  • errorError

  • idRequestId

This signal is emitted when an error occurs while processing request id. The error parameter describes the error.

hasNdefMessage()
Return type:

bool

Returns true if at least one NDEF message is stored on the near field target; otherwise returns false.

maxCommandLength()
Return type:

int

Returns the maximum number of bytes that can be sent with sendCommand . 0 will be returned if the target does not support sending tag type specific commands.

See also

sendCommand()

ndefMessageRead(message)
Parameters:

messageQNdefMessage

This signal is emitted when a complete NDEF message has been read from the target.

readNdefMessages()
Return type:

RequestId

Starts reading NDEF messages stored on the near field target. Returns a request id which can be used to track the completion status of the request. An invalid request id will be returned if the target does not support reading NDEF messages.

An ndefMessageRead() signal will be emitted for each NDEF message. The requestCompleted() signal will be emitted was all NDEF messages have been read. The error() signal is emitted if an error occurs.

Note

An attempt to read an NDEF message from a tag, that is in INITIALIZED state as defined by NFC Forum, will fail with the NdefReadError , as the tag is formatted to support NDEF but does not contain a message yet.

requestCompleted(id)
Parameters:

idRequestId

This signal is emitted when a request id completes.

See also

sendCommand()

requestResponse(id)
Parameters:

idRequestId

Return type:

object

Returns the decoded response for request id. If the request is unknown or has not yet been completed an invalid QVariant is returned.

sendCommand(command)
Parameters:

commandQByteArray

Return type:

RequestId

Sends command to the near field target. Returns a request id which can be used to track the completion status of the request. An invalid request id will be returned if the target does not support sending tag type specific commands.

The requestCompleted() signal will be emitted on successful completion of the request; otherwise the error() signal will be emitted.

Once the request completes successfully the response can be retrieved from the requestResponse() function. The response of this request will be a QByteArray.

type()
Return type:

Type

Returns the type of tag type of this near field target.

uid()
Return type:

QByteArray

Returns the UID of the near field target.

Note

On iOS, this function returns an empty QByteArray for a near field target discovered using NdefAccess method.

See also

AccessMethod

waitForRequestCompleted(id[, msecs=5000])
Parameters:
  • idRequestId

  • msecs – int

Return type:

bool

Waits up to msecs milliseconds for the request id to complete. Returns true if the request completes successfully and the requestCompeted() signal is emitted; otherwise returns false.

writeNdefMessages(messages)
Parameters:

messages – .list of QNdefMessage

Return type:

RequestId

Writes the NDEF messages in messages to the target. Returns a request id which can be used to track the completion status of the request. An invalid request id will be returned if the target does not support reading NDEF messages.

The requestCompleted() signal will be emitted when the write operation completes successfully; otherwise the error() signal is emitted.