NdefRecord 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示不可变的 NDEF 记录。
[Android.Runtime.Register("android/nfc/NdefRecord", DoNotGenerateAcw=true)]
public sealed class NdefRecord : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/nfc/NdefRecord", DoNotGenerateAcw=true)>]
type NdefRecord = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 属性
- 实现
注解
表示不可变的 NDEF 记录。
NDEF (NFC 数据交换格式) 是一种轻型二进制格式,用于封装类型化数据。 它由 NFC 论坛指定,用于通过 NFC 进行传输和存储,但它与传输无关。
NDEF 定义消息和记录。 NDEF 记录包含类型化数据,例如 MIME 类型的媒体、URI 或自定义应用程序有效负载。 NDEF 消息是一个或多个 NDEF 记录的容器。
此类表示逻辑 (完整) NDEF 记录,不能用于表示分块 (部分) NDEF 记录。 但是 NdefMessage#NdefMessage(byte[])
,可用于分析包含分块记录的消息,并将返回具有未 (完整) 记录的消息。
逻辑 NDEF 记录始终包含一个 3 位 TNF (类型名称字段) ,该字段为记录的其余部分提供高级别键入。 其余字段长度可变且并非始终存在: <ul><li><em>type</em>:payload</li><li><em>id</em>: identifier 元数据的详细键入,不常用</li><li><em>payload</em>:实际有效负载</li></ul>
包括 、 NdefRecord#createMime
和 NdefRecord#createExternal
等NdefRecord#createUri
帮助程序,用于创建格式正确的 NDEF 记录,并正确设置了 tnf、类型、ID 和有效负载字段,请尽可能使用这些帮助程序。
如果知道要执行的操作以及单独设置字段的内容,请使用 构造函数 #NdefRecord(short, byte[], byte[], byte[])
。 仅使用此构造函数执行基本验证,因此可以创建未确认严格 NFC 论坛规范的记录。
NDEF 记录的二进制表示形式包括其他标志,用于使用 NDEF 消息指示位置、提供对 NDEF 记录分块的支持以及打包可选字段。 此类不会公开这些详细信息。 若要将 NDEF 记录作为二进制文件写入,必须先将其放入 NdefMessage
,然后调用 NdefMessage#toByteArray()
。 <p class=“note”>NdefMessage
和 NdefRecord
实现始终可用,即使在没有 NFC 硬件的 Android 设备上也是如此。 <p class=“note”>NdefRecord
s 旨在不可变 (和线程安全) ,但它们可能包含可变字段。 因此,除非此类修改被显式标记为安全,否则不要修改传递到构造函数中的可变字段,也不要修改 getter 方法获取的可变字段。
的 android.nfc.NdefRecord
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
NdefRecord(Byte[]) |
已过时.
从原始字节构造 NDEF 记录。 |
NdefRecord(Int16, Byte[], Byte[], Byte[]) |
从其组件字段构造 NDEF 记录。 |
字段
TnfAbsoluteUri |
指示类型字段包含由 RFC 3986 定义的绝对 URI BNF 构造。 |
TnfEmpty |
指示记录为空。 |
TnfExternalType |
指示类型字段包含外部类型名称。 |
TnfMimeMedia |
指示类型字段包含由 RFC 2046 定义的媒体类型 BNF 构造。 |
TnfUnchanged |
指示有效负载是分块 NDEF 记录的中间区块或最终区块。 |
TnfUnknown |
指示有效负载类型未知。 |
TnfWellKnown |
指示类型字段包含已知的 RTD 类型名称。 |
属性
Class |
返回此 |
Creator | |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
表示不可变的 NDEF 记录。 (继承自 Object) |
JniPeerMembers |
表示不可变的 NDEF 记录。 |
PeerReference |
表示不可变的 NDEF 记录。 (继承自 Object) |
RtdAlternativeCarrier |
RTD 备用运营商类型。 |
RtdHandoverCarrier |
RTD 移交运营商类型。 |
RtdHandoverRequest |
RTD 移交请求类型。 |
RtdHandoverSelect |
RTD 切换 选择类型。 |
RtdSmartPoster |
RTD 智能海报类型。 |
RtdText |
RTD 文本类型。 |
RtdUri |
RTD URI 类型。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
Tnf |
返回 3 位 TNF。 |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
CreateApplicationRecord(String) |
(AAR) 创建新的 Android 应用程序记录。 |
CreateExternal(String, String, Byte[]) |
创建一个新的 NDEF 记录,其中包含特定于应用程序的外部 () 数据。 |
CreateMime(String, Byte[]) |
创建包含 MIME 数据的新 NDEF 记录。 |
CreateTextRecord(String, String) |
创建包含 UTF-8 文本数据的新 NDEF 记录。 |
CreateUri(String) |
创建包含 URI 的新 NDEF 记录。 |
CreateUri(Uri) |
创建包含 URI 的新 NDEF 记录。 |
DescribeContents() |
描述此 Parcelable 的封送表示形式中包含的特殊对象的种类。 |
Dispose() |
表示不可变的 NDEF 记录。 (继承自 Object) |
Dispose(Boolean) |
表示不可变的 NDEF 记录。 (继承自 Object) |
Equals(Object) |
指示某个其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
GetId() |
返回可变长度 ID。 |
GetPayload() |
返回可变长度的有效负载。 |
GetTypeInfo() |
返回可变长度类型字段。 |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
表示不可变的 NDEF 记录。 (继承自 Object) |
ToByteArray() |
已过时.
以字节数组的形式返回此 NDEF 记录。 |
ToMimeType() |
将此记录映射到 MIME 类型,如果无法映射,则返回 null。 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
ToUri() |
将此记录映射到 URI,如果无法映射,则返回 null。 |
UnregisterFromRuntime() |
表示不可变的 NDEF 记录。 (继承自 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) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
将此对象平展到一个地块。 |
显式接口实现
IJavaPeerable.Disposed() |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.Finalized() |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.JniManagedPeerState |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
表示不可变的 NDEF 记录。 (继承自 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
表示不可变的 NDEF 记录。 (继承自 Object) |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
表示不可变的 NDEF 记录。 |
GetJniTypeName(IJavaPeerable) |
表示不可变的 NDEF 记录。 |