MifareClassic 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对 上的 Tag
MIFARE 经典属性和 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
- 继承
- 属性
- 实现
注解
提供对 上的 Tag
MIFARE 经典属性和 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.MifareClassic
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
字段
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 |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsConnected |
指示 I/O 操作是否可行的帮助程序。 |
JniIdentityHashCode |
提供对 上的 |
JniPeerMembers |
提供对 上的 |
KeyDefault |
默认工厂密钥。 |
KeyMifareApplicationDirectory |
根据 MIFARE 应用程序目录 (MAD) 规范格式化的标记的已知键。 |
KeyNfcForum |
根据 MIFARE 上的 NDEF 经典规范格式化的标记的已知键。 |
MaxTransceiveLength |
返回可以使用 发送 |
PeerReference |
提供对 上的 |
SectorCount |
返回 MIFARE 经典扇区数。 |
Size |
返回标记的大小(以字节为单位) |
Tag |
Tag获取支持此ITagTechnology对象的 对象。 |
ThresholdClass |
提供对 上的 |
ThresholdType |
提供对 上的 |
Timeout |
获取当前 |
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) |
提供对 上的 |
Dispose() |
提供对 上的 |
Dispose(Boolean) |
提供对 上的 |
Equals(Object) |
指示其他某个对象是否“等于”此对象。 (继承自 Object) |
Get(Tag) |
获取给定标记的 实例 |
GetBlockCountInSector(Int32) |
返回给定扇区中的块数。 |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
Increment(Int32, Int32) |
递增值块,将结果存储在标记上的临时块中。 |
IncrementAsync(Int32, Int32) |
提供对 上的 |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
ReadBlock(Int32) |
读取 16 字节块。 |
ReadBlockAsync(Int32) |
提供对 上的 |
Restore(Int32) |
从值块复制到临时块。 |
RestoreAsync(Int32) |
提供对 上的 |
SectorToBlock(Int32) |
返回给定扇区的第一个块。 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
提供对 上的 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
Transceive(Byte[]) |
将原始 NfcA 数据发送到标记并接收响应。 |
TransceiveAsync(Byte[]) |
提供对 上的 |
Transfer(Int32) |
从临时块复制到值块。 |
TransferAsync(Int32) |
提供对 上的 |
UnregisterFromRuntime() |
提供对 上的 |
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[]) |
提供对 上的 |
显式接口实现
IJavaPeerable.Disposed() |
提供对 上的 |
IJavaPeerable.DisposeUnlessReferenced() |
提供对 上的 |
IJavaPeerable.Finalized() |
提供对 上的 |
IJavaPeerable.JniManagedPeerState |
提供对 上的 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
提供对 上的 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
提供对 上的 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
提供对 上的 |
扩展方法
ConnectAsync(ITagTechnology) |
提供对 上的 |
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
提供对 上的 |
GetJniTypeName(IJavaPeerable) |
提供对 上的 |