Most visited

Recently visited

Added in API level 10

NdefFormatable

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权限。

Summary

Public methods

void close()

禁用对来自此 TagTechnology对象的标记的I / O操作,并释放资源。

void connect()

对来自此 TagTechnology对象的标记启用I / O操作。

void format(NdefMessage firstMessage)

将标签格式化为NDEF,然后编写一个 NdefMessage

void formatReadOnly(NdefMessage firstMessage)

将标签格式化为NDEF,写入 NdefMessage ,并设置为只读。

static NdefFormatable get(Tag tag)

获取给定标签的 NdefFormatable实例。

Tag getTag()

获取 Tag对象支持此 TagTechnology对象。

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

Public methods

close

Added in API level 10
void close ()

禁止对来自此 TagTechnology对象的标记执行I / O操作,并释放资源。

还会导致其他线程上的所有被阻止的I / O操作被取消,并返回 IOException

需要 NFC权限。

Throws
IOException

connect

Added in API level 10
void connect ()

对来自此 TagTechnology对象的标记启用I / O操作。

可能导致RF活动并可能阻塞。 不能从主应用程序线程调用。 通过从另一个线程调用close() ,被阻止的呼叫将被IOException取消。

一次只能将一个 TagTechnology对象连接到 Tag

当I / O操作完成时,应用程序必须调用 close()

需要 NFC权限。

Throws
IOException

format

Added in API level 10
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

formatReadOnly

Added in API level 10
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

get

Added in API level 10
NdefFormatable get (Tag tag)

获取给定标签的 NdefFormatable实例。

不会导致任何RF活动并且不会阻止。

如果NdefFormatable未在getTechList()枚举,则返回null。 这表明标签不是由此Android设备形成的NDEF。

Parameters
tag Tag: an NDEF formatable tag
Returns
NdefFormatable NDEF formatable object

getTag

Added in API level 10
Tag getTag ()

获取 Tag对象支持此 TagTechnology对象。

Returns
Tag the Tag backing this TagTechnology object.

isConnected

Added in API level 10
boolean isConnected ()

帮助者指出I / O操作是否可行。

如果返回true connect()已经完成,并 close()没有被调用,并且 Tag不知道是超出范围。

不会导致射频活动,也不会阻止。

Returns
boolean true if I/O operations should be possible

Hooray!