NdefRecord 类

定义

表示不可变的 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
继承
NdefRecord
属性
实现

注解

表示不可变的 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#createMimeNdefRecord#createExternalNdefRecord#createUri帮助程序,用于创建格式正确的 NDEF 记录,并正确设置了 tnf、类型、ID 和有效负载字段,请尽可能使用这些帮助程序。

如果知道要执行的操作以及单独设置字段的内容,请使用 构造函数 #NdefRecord(short, byte[], byte[], byte[]) 。 仅使用此构造函数执行基本验证,因此可以创建未确认严格 NFC 论坛规范的记录。

NDEF 记录的二进制表示形式包括其他标志,用于使用 NDEF 消息指示位置、提供对 NDEF 记录分块的支持以及打包可选字段。 此类不会公开这些详细信息。 若要将 NDEF 记录作为二进制文件写入,必须先将其放入 NdefMessage,然后调用 NdefMessage#toByteArray()。 <p class=“note”>NdefMessageNdefRecord 实现始终可用,即使在没有 NFC 硬件的 Android 设备上也是如此。 <p class=“note”>NdefRecords 旨在不可变 (和线程安全) ,但它们可能包含可变字段。 因此,除非此类修改被显式标记为安全,否则不要修改传递到构造函数中的可变字段,也不要修改 getter 方法获取的可变字段。

android.nfc.NdefRecordJava 文档。

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

构造函数

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

返回此 Object的运行时类。

(继承自 Object)
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 记录。

适用于