android.nfc.tech.TagTechnology |
Known Indirect Subclasses
IsoDep
,
MifareClassic
,
MifareUltralight
,
Ndef
,
NdefFormatable
,
NfcA
,
NfcB
,
NfcBarcode
,
NfcF
,
NfcV
|
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
TagTechnology
implementations. If it is not provided, the
Android device will never enumerate that class via
getTechList()
.
MifareClassic
MifareUltralight
NfcBarcode
NdefFormatable
must only be enumerated on tags for which this Android device
is capable of formatting. Proprietary knowledge is often required to format a tag
to make it NDEF compatible.
TagTechnology
implementations provide methods that fall into two classes:
cached getters
and
I/O operations
.
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.
connect()
must be called before using any other I/O operation.
close()
must be called after completing I/O operations with a
TagTechnology
, and it will cancel all other blocked I/O operations on other threads
(including
connect()
with
IOException
.
TagTechnology
can be connected at a time. Other calls to
connect()
will return
IOException
.
Note:
Methods that perform I/O operations
require the
NFC
permission.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Disable I/O operations to the tag from this
TagTechnology
object, and release resources.
|
||||||||||
|
Enable I/O operations to the tag from this
TagTechnology
object.
|
||||||||||
|
Get the
Tag
object backing this
TagTechnology
object.
|
||||||||||
|
Helper to indicate if I/O operations should be possible.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
java.io.Closeable
|
|||||||||||
From interface
java.lang.AutoCloseable
|
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.
IOException |
---|
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.
if the tag leaves the field | |
IOException | if there is an I/O failure, or connect is canceled |
Get the
Tag
object backing this
TagTechnology
object.
Tag
backing this
TagTechnology
object.