Share via


MifareClassic 类

定义

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

[Android.Runtime.Register("android/nfc/tech/MifareClassic", DoNotGenerateAcw=true)]
public sealed class MifareClassic : Android.Nfc.Tech.BasicTagTechnology, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/nfc/tech/MifareClassic", DoNotGenerateAcw=true)>]
type MifareClassic = class
    inherit BasicTagTechnology
    interface ITagTechnology
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
属性
实现

注解

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

MifareClassic使用 #get获取对象。

MIFARE 经典版也称为 MIFARE 标准版。

MIFARE 经典标记划分为多个扇区,每个扇区被细分为块。 块大小始终为 16 字节 (#BLOCK_SIZE。 扇区大小各不相同。 <ul><li>MIFARE 经典 Mini 是 320 字节 (#SIZE_MINI) ,每个 4 个块有 5 个扇区。 <li>MIFARE 经典 1k 是 1024 字节 (#SIZE_1K) ,每个 4 个块有 16 个扇区。 <li>MIFARE 经典 2k 是 2048 字节 (#SIZE_2K) ,每个 4 个块有 32 个扇区。 <li>MIFARE 经典 4k 是 4096 字节 (#SIZE_4K) 。 前 32 个扇区包含 4 个块,最后 8 个扇区包含 16 个块。 </ul>

MIFARE 经典标记需要按扇区进行身份验证,然后才能对该扇区执行任何其他 I/O 操作。 每个扇区有两个密钥,ACL 位确定使用密钥进行身份验证后,允许在该扇区执行哪些 I/O 操作。 #authenticateSectorWithKeyA#authenticateSectorWithKeyB

此类中定义了三个已知的身份验证密钥: #KEY_DEFAULT#KEY_MIFARE_APPLICATION_DIRECTORY#KEY_NFC_FORUM。 <ul><li>#KEY_DEFAULT 是 MIFARE 经典的默认工厂密钥。 <li>#KEY_MIFARE_APPLICATION_DIRECTORY 是已根据 MIFARE 应用程序目录 (MAD) 规范格式化的 MIFARE 经典卡的已知密钥。 <li>#KEY_NFC_FORUM 是 MIFARE 经典卡的已知密钥,该卡已根据 MIFARE 经典版 NDEF 的 NXP 规范进行格式化。

在 Android NFC 设备上实现此类是可选的。 如果未实现,则 MifareClassic 永远不会在 中 Tag#getTechList枚举。 如果枚举它,则支持所有 MifareClassic I/O 操作,并且 Ndef#MIFARE_CLASSIC 也支持 NDEF 标记。 在任一情况下, NfcA 也会对 标记进行枚举,因为所有 MIFARE 经典标记也是 NfcA

<p class=“note”><strong>Note:</strong> 方法执行 I/O 操作需要 android.Manifest.permission#NFC 权限。

android.nfc.tech.MifareClassicJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

字段

BlockSize

MIFARE 经典块的大小 (字节)

Size1k
已过时.

标记包含 16 个扇区,每个扇区有 4 个块。

Size2k
已过时.

标记包含 32 个扇区,每个扇区有 4 个块。

Size4k
已过时.

标记包含 40 个扇区。

SizeMini
已过时.

标记包含 5 个扇区,每个扇区有 4 个块。

TypeClassic
已过时.

MIFARE 经典标记

TypePlus
已过时.

MIFARE Plus 标记

TypePro
已过时.

MIFARE Pro 标记

TypeUnknown
已过时.

类型未知的 MIFARE 经典兼容卡

属性

BlockCount

返回 MIFARE 经典块的总数。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsConnected

指示 I/O 操作是否可行的帮助程序。

JniIdentityHashCode

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
JniPeerMembers

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

KeyDefault

默认工厂密钥。

KeyMifareApplicationDirectory

根据 MIFARE 应用程序目录 (MAD) 规范格式化的标记的已知键。

KeyNfcForum

根据 MIFARE 上的 NDEF 经典规范格式化的标记的已知键。

MaxTransceiveLength

返回可以使用 发送 #transceive的最大字节数。

PeerReference

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
SectorCount

返回 MIFARE 经典扇区数。

Size

返回标记的大小(以字节为单位)

Tag

Tag获取支持此ITagTechnology对象的 对象。

ThresholdClass

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 BasicTagTechnology)
ThresholdType

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 BasicTagTechnology)
Timeout

获取当前 #transceive 超时(以毫秒为单位)。 - 或 - 设置超时( #transceive 以毫秒为单位)。

Type

返回此 MIFARE 经典兼容标记的类型。

方法

AuthenticateSectorWithKeyA(Int32, Byte[])

使用密钥 A 对扇区进行身份验证。

AuthenticateSectorWithKeyB(Int32, Byte[])

使用密钥 B 对扇区进行身份验证。

BlockToSector(Int32)

返回包含给定块的扇区。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

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

Connect()

为此对象中的 标记 ITagTechnology 启用 I/O 操作。

Decrement(Int32, Int32)

递减值块,将结果存储在标记上的临时块中。

DecrementAsync(Int32, Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

Dispose()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
Dispose(Boolean)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
Equals(Object)

指示其他某个对象是否“等于”此对象。

(继承自 Object)
Get(Tag)

获取给定标记的 实例 MifareClassic

GetBlockCountInSector(Int32)

返回给定扇区中的块数。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Increment(Int32, Int32)

递增值块,将结果存储在标记上的临时块中。

IncrementAsync(Int32, Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

JavaFinalize()

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
ReadBlock(Int32)

读取 16 字节块。

ReadBlockAsync(Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

Restore(Int32)

从值块复制到临时块。

RestoreAsync(Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

SectorToBlock(Int32)

返回给定扇区的第一个块。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
Transceive(Byte[])

将原始 NfcA 数据发送到标记并接收响应。

TransceiveAsync(Byte[])

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

Transfer(Int32)

从临时块复制到值块。

TransferAsync(Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

UnregisterFromRuntime()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
WriteBlock(Int32, Byte[])

写入 16 字节块。

WriteBlockAsync(Int32, Byte[])

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

显式接口实现

IJavaPeerable.Disposed()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.Finalized()

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

(继承自 Object)

扩展方法

ConnectAsync(ITagTechnology)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

GetJniTypeName(IJavaPeerable)

提供对 上的 TagMIFARE 经典属性和 I/O 操作的访问。

适用于