Most visited

Recently visited

Added in API level 10

NfcV

public final class NfcV
extends Object implements TagTechnology

java.lang.Object
   ↳ android.nfc.tech.NfcV


提供对 Tag上的NFC-V(ISO 15693)属性和I / O操作的 Tag

使用 get(Tag)获取 NfcV对象。

主要的NFC-V I / O操作是transceive(byte[]) 应用程序必须在transceive(byte[])之上实现自己的协议栈。

注意:执行I / O操作的方法需要 NFC权限。

Summary

Public methods

void close()

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

void connect()

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

static NfcV get(Tag tag)

为给定标签获取 NfcV的实例。

byte getDsfId()

从标签发现中返回DSF ID字节。

int getMaxTransceiveLength()

返回可以用 transceive(byte[])发送的最大字节数。

byte getResponseFlags()

从标签发现中返回响应标志字节。

Tag getTag()

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

boolean isConnected()

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

byte[] transceive(byte[] data)

将原始NFC-V命令发送到标签并接收响应。

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

get

Added in API level 10
NfcV get (Tag tag)

获取给定标签的实例 NfcV

如果未在getTechList()枚举NfcV则返回null。 这表明该标签不支持NFC-V。

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

Parameters
tag Tag: an NFC-V compatible tag
Returns
NfcV NFC-V object

getDsfId

Added in API level 10
byte getDsfId ()

从标签发现中返回DSF ID字节。

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

Returns
byte DSF ID bytes

getMaxTransceiveLength

Added in API level 14
int getMaxTransceiveLength ()

返回可用 transceive(byte[])发送的最大字节数。

Returns
int the maximum number of bytes that can be sent with transceive(byte[]).

getResponseFlags

Added in API level 10
byte getResponseFlags ()

从标签发现中返回响应标志字节。

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

Returns
byte Response Flag bytes

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

transceive

Added in API level 10
byte[] transceive (byte[] data)

将原始NFC-V命令发送到标签并接收响应。

应用程序不能将CRC附加到有效负载,它将自动计算。 该应用程序确实提供了FLAGS,CMD和PARAMETER字节。

使用 getMaxTransceiveLength()检索可以使用 getMaxTransceiveLength()发送的最大字节 transceive(byte[])

这是一个I / O操作,将阻塞直到完成。 它不能从主应用程序线程调用。 如果从另一个线程调用close()被阻止的呼叫将被IOException取消。

需要 NFC权限。

Parameters
data byte: bytes to send
Returns
byte[] bytes received in response
Throws
if the tag leaves the field
IOException if there is an I/O failure, or this operation is canceled

Hooray!