語言

NdefRecord 類別

定義

代表不變的 NDEF 紀錄。

[Android.Runtime.Register("android/nfc/NdefRecord", DoNotGenerateAcw=true)]
public sealed class NdefRecord : Java.Lang.Object, Android.OS.IParcelable, IDisposable
[<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 Data Exchange Format)是一種輕量級二進位格式,用於封裝已打字的資料。 它由 NFC 論壇指定,用於 NFC 傳輸與儲存,但與傳輸無關。

NDEF 定義訊息與紀錄。 NDEF 記錄包含有型別的資料,例如 MIME 類型媒體、URI 或自訂應用程式有效載荷。 NDEF 訊息是存放一個或多個 NDEF 紀錄的容器。

此類別代表邏輯(完整)的 NDEF 記錄,無法用來表示分塊(部分)的 NDEF 記錄。 然而 NdefMessage#NdefMessage(byte[]) ,可以用來解析包含分塊記錄的訊息,並回傳包含未分塊(完整)記錄的訊息。

邏輯 NDEF 記錄總是包含一個 3 位元的 TNF(類型名稱欄位),為記錄其餘部分提供高階型別。 其餘欄位長度可變且不一定存在:<ul><li><em>類型</em>:payload<的詳細類型/li><li><em ID></em>:識別碼元資料,不常用</li><li><em payload></em>:實際有效載荷</li></ul>

包含如 、 NdefRecord#createUri 和 NdefRecord#createMime 等輔助NdefRecord#createExternal工具,以建立格式良好的 NDEF 記錄,並正確設定 tnf、type、id 及 payload 欄位,請盡可能使用這些輔助工具。

如果你知道自己在做什麼,也知道要怎麼一組一組設定欄位,就用建構器 #NdefRecord(short, byte[], byte[], byte[]) 。 此建構器僅進行基本驗證,因此可建立不符合嚴格 NFC Forum 規範的紀錄。

NDEF 記錄的二進位表示包含額外旗標,用以指示 NDEF 訊息的位置、支援 NDEF 記錄分區,以及封存可選欄位。 這門課不會揭露那些細節。 要將 NDEF 記錄寫成二進位,必須先將其放入 NdefMessage,然後呼叫 NdefMessage#toByteArray()。

NdefMessage NdefRecord而且這些實作總是可以找到,即使是在沒有 NFC 硬體的 Android 裝置上。

NdefRecords 設計為不變(且執行緒安全),但它們可能包含可變欄位。 因此,除非明確標記為安全,否則請謹慎修改傳入建構子的可變欄位,或由 getter 方法取得的可變欄位。

Java 文件 android.nfc.NdefRecord。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
NdefRecord(Byte[])
已淘汰.

從原始位元組構建 NDEF 記錄。

NdefRecord(Int16, Byte[], Byte[], Byte[])

從其組成欄位構建 NDEF 記錄。

欄位

名稱 Description
TnfAbsoluteUri

表示型別欄位包含由 RFC 3986 定義的絕對 URI BNF 結構。

TnfEmpty

表示該紀錄為空。

TnfExternalType

表示型別欄位包含外部型別名稱。

TnfMimeMedia

表示型別欄位包含由 RFC 2046 定義的媒體型 BNF 結構。

TnfUnchanged

表示有效載荷是分塊 NDEF 記錄的中間或最終區塊。

TnfUnknown

表示有效載荷類型未知。

TnfWellKnown

表示該類型欄位包含一個知名的 RTD 類型名稱。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Creator
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
JniPeerMembers

代表不變的 NDEF 紀錄。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
RtdAlternativeCarrier

RTD 替代承運人類型。

RtdHandoverCarrier

RTD Handover 載體類型。

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。

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
CreateApplicationRecord(String)

建立新的 Android 應用程式記錄(AAR)。

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()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
Equals(Object)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetId()

回傳可變長度的 ID。

GetPayload()

回傳可變長度的有效載荷。

GetTypeInfo()

回傳可變長度類型欄位。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToByteArray()
已淘汰.

將此 NDEF 記錄以位元組陣列形式回傳。

ToMimeType()

將此紀錄映射為 MIME 類型,若無法映射則回傳 null。

ToString()

回傳物件的字串表示。

(繼承來源 Object)
ToUri()

將此紀錄映射到 URI,若無法映射則回傳 null。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

把這個物體壓扁成一個包裹。

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

代表不變的 NDEF 紀錄。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

代表不變的 NDEF 紀錄。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

代表不變的 NDEF 紀錄。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於