public final class NdefFormatable
extends Object
implements TagTechnology
java.lang.Object | |
↳ | android.nfc.tech.NdefFormatable |
在 Tag
上提供对NDEF格式操作的访问权限。
使用 get(Tag)
获取 NdefFormatable
对象。
使用NFC的Android设备只能枚举和实现此类可以格式化为NDEF的标签。
不幸的是,NFC论坛并未指定将未格式化标签转换为NDEF格式标签的过程,而且通常并不众所周知。 因此,没有强制性的一组标签,所有带有NFC的Android设备都必须支持NdefFormatable
。
注意:执行I / O操作的方法需要 NFC
权限。
Public methods |
|
---|---|
void |
close() 禁用对来自此 |
void |
connect() 对来自此 |
void |
format(NdefMessage firstMessage) 将标签格式化为NDEF,然后编写一个 |
void |
formatReadOnly(NdefMessage firstMessage) 将标签格式化为NDEF,写入 |
static NdefFormatable |
get(Tag tag) 获取给定标签的 |
Tag |
getTag() 获取 |
boolean |
isConnected() 帮助者指出I / O操作是否可行。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.nfc.tech.TagTechnology
|
|
From interface java.io.Closeable
|
|
From interface java.lang.AutoCloseable
|
void close ()
禁止对来自此 TagTechnology
对象的标记执行I / O操作,并释放资源。
还会导致其他线程上的所有被阻止的I / O操作被取消,并返回 IOException
。
需要 NFC
权限。
Throws | |
---|---|
IOException |
void connect ()
对来自此 TagTechnology
对象的标记启用I / O操作。
可能导致RF活动并可能阻塞。 不能从主应用程序线程调用。 通过从另一个线程调用close()
,被阻止的呼叫将被IOException
取消。
一次只能将一个 TagTechnology
对象连接到 Tag
。
当I / O操作完成时,应用程序必须调用 close()
。
需要 NFC
权限。
Throws | |
---|---|
IOException |
void format (NdefMessage firstMessage)
将标签格式化为NDEF,然后编写一个 NdefMessage
。
这是一个多步骤的过程,如果任何一个步骤失败,则抛出IOException。
此操作完成后,该卡仍处于读写状态。
这是一个I / O操作,将阻塞直到完成。 它不能从主应用程序线程调用。 如果从另一个线程调用close()
被阻止的呼叫将被取消, IOException
。
需要 NFC
权限。
Parameters | |
---|---|
firstMessage |
NdefMessage : the NDEF message to write after formatting, can be null |
Throws | |
---|---|
TagLostException |
if the tag leaves the field |
IOException |
if there is an I/O failure, or the operation is canceled |
FormatException |
if the NDEF Message to write is malformed |
void formatReadOnly (NdefMessage firstMessage)
将标签格式化为NDEF,写入 NdefMessage
,并设置为只读。
这是一个多步骤的过程,如果任何一个步骤失败,则抛出IOException。
如果此方法成功返回,卡将保持只读状态。
这是一个I / O操作,将阻塞直到完成。 它不能从主应用程序线程调用。 如果从另一个线程调用close()
被阻止的呼叫将被取消, IOException
。
需要 NFC
权限。
Parameters | |
---|---|
firstMessage |
NdefMessage : the NDEF message to write after formatting |
Throws | |
---|---|
TagLostException |
if the tag leaves the field |
IOException |
if there is an I/O failure, or the operation is canceled |
FormatException |
if the NDEF Message to write is malformed |
NdefFormatable get (Tag tag)
获取给定标签的 NdefFormatable
实例。
不会导致任何RF活动并且不会阻止。
如果NdefFormatable
未在getTechList()
枚举,则返回null。 这表明标签不是由此Android设备形成的NDEF。
Parameters | |
---|---|
tag |
Tag : an NDEF formatable tag |
Returns | |
---|---|
NdefFormatable |
NDEF formatable object |
Tag getTag ()
获取 Tag
对象支持此 TagTechnology
对象。
Returns | |
---|---|
Tag |
the Tag backing this TagTechnology object. |
boolean isConnected ()
帮助者指出I / O操作是否可行。
如果返回true connect()
已经完成,并 close()
没有被调用,并且 Tag
不知道是超出范围。
不会导致射频活动,也不会阻止。
Returns | |
---|---|
boolean |
true if I/O operations should be possible |