Please note that the contents of this offline web site may be out of date. To access the most recent documentation visit the online version .
Note that links that point to online resources are green in color and will open in a new window.
We would love it if you could give us feedback about this material by filling this form (You have to be online to fill it)
Android APIs
public interface

TagTechnology

implements Closeable
android.nfc.tech.TagTechnology
Known Indirect Subclasses

Class Overview

TagTechnology is an interface to a technology in a Tag .

Obtain a TagTechnology implementation by calling the static method get() on the implementation class.

NFC tags are based on a number of independently developed technologies and offer a wide range of capabilities. The TagTechnology implementations provide access to these different technologies and capabilities. Some sub-classes map to technology specification (for example NfcA , IsoDep , others map to pseudo-technologies or capabilities (for example Ndef , NdefFormatable ).

It is mandatory for all Android NFC devices to provide the following TagTechnology implementations.

  • NfcA (also known as ISO 14443-3A)
  • NfcB (also known as ISO 14443-3B)
  • NfcF (also known as JIS 6319-4)
  • NfcV (also known as ISO 15693)
  • IsoDep
  • Ndef on NFC Forum Type 1, Type 2, Type 3 or Type 4 compliant tags
It is optional for Android NFC devices to provide the following TagTechnology implementations. If it is not provided, the Android device will never enumerate that class via getTechList() .

TagTechnology implementations provide methods that fall into two classes: cached getters and I/O operations .

Cached getters

These methods (usually prefixed by get or is ) return properties of the tag, as determined at discovery time. These methods will never block or cause RF activity, and do not require connect() to have been called. They also never update, for example if a property is changed by an I/O operation with a tag then the cached getter will still return the result from tag discovery time.

I/O operations

I/O operations may require RF activity, and may block. They have the following semantics.

Note: Methods that perform I/O operations require the NFC permission.

Summary

Public Methods
abstract void close ()
Disable I/O operations to the tag from this TagTechnology object, and release resources.
abstract void connect ()
Enable I/O operations to the tag from this TagTechnology object.
abstract Tag getTag ()
Get the Tag object backing this TagTechnology object.
abstract boolean isConnected ()
Helper to indicate if I/O operations should be possible.
[Expand]
Inherited Methods
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public Methods

public abstract void close ()

Disable I/O operations to the tag from this TagTechnology object, and release resources.

Also causes all blocked I/O operations on other thread to be canceled and return with IOException .

Requires the NFC permission.

See Also

public abstract void connect ()

Enable I/O operations to the tag from this TagTechnology object.

May cause RF activity and may block. Must not be called from the main application thread. A blocked call will be canceled with IOException by calling close() from another thread.

Only one TagTechnology object can be connected to a Tag at a time.

Applications must call close() when I/O operations are complete.

Requires the NFC permission.

Throws
if the tag leaves the field
IOException if there is an I/O failure, or connect is canceled
See Also

public abstract Tag getTag ()

Get the Tag object backing this TagTechnology object.

Returns

public abstract boolean isConnected ()

Helper to indicate if I/O operations should be possible.

Returns true if connect() has completed, and close() has not been called, and the Tag is not known to be out of range.

Does not cause RF activity, and does not block.

Returns
  • true if I/O operations should be possible