Tag 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示已探索到的 NFC 標記。
[Android.Runtime.Register("android/nfc/Tag", DoNotGenerateAcw=true)]
public sealed class Tag : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/nfc/Tag", DoNotGenerateAcw=true)>]
type Tag = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
表示已探索到的 NFC 標記。
Tag
是不可變的物件,代表探索時 NFC 標記的狀態。 它可以當做類別的控制碼 TagTechnology
來執行進階作業,或透過 直接查詢其識別碼 #getId
,以及透過 包含 #getTechList
的技術集。 傳遞至此類別並傳回的陣列是 < em > not < /em > 複製的,因此請小心不要修改它們。
每次探索標籤 (進入範圍) 時,都會建立新的標記物件,即使它是相同的實體標記也一樣。 如果已移除標籤,然後傳回至範圍,則只能成功使用最新的標記物件來建立 TagTechnology
。
<h3 > 標籤分派 < /h3 > 探索標記時, Tag
會建立 物件,並透過 NfcAdapter#EXTRA_TAG
透過 中的 android.content.Intent
Context#startActivity
額外專案傳遞至單一活動。 四階段分派可用來選取最適當的活動來處理標記。 Android OS 會依序執行每個階段,並在找到單一比對活動時立即完成分派。 如果在任一階段找到多個相符活動,則會顯示 [Android 活動選擇器] 對話方塊,讓使用者選取活動以接收標記。
標籤分派機制的設計目的是提供將標籤分派至正確活動的機率高,而不會向使用者顯示活動選擇器對話方塊。 這對於 NFC 互動很重要,因為它們非常暫時性,如果使用者必須移動 Android 裝置來選擇應用程式,則連線可能會中斷。
<h4 > 1. 前景活動分派 < /h4 > 已呼叫 NfcAdapter#enableForegroundDispatch NfcAdapter.enableForegroundDispatch()
的前景活動會獲得優先順序。 如需其使用方式,請參閱 上的檔 NfcAdapter#enableForegroundDispatch NfcAdapter.enableForegroundDispatch()
。 <h4 > 2. NDEF 資料分派 < /h4 > 如果標籤包含 NDEF 資料,系統會檢查第一個 中的第一個 NdefRecord
NdefMessage
。 如果記錄是 URI、SmartPoster 或 MIME 資料 Context#startActivity
,則會使用 NfcAdapter#ACTION_NDEF_DISCOVERED
呼叫。 針對 URI 和 SmartPoster,URI 會放入意圖的資料欄位中。 針對 MIME 記錄,MIME 類型會放在意圖的類型欄位中。 這可讓活動只有在知道如何處理的資料出現在標記上時,才會註冊。 這是在標記上處理資料的慣用方法,因為 NDEF 資料可以儲存在許多類型的標記上,而且不依賴特定的標記技術。 如需詳細資訊,請參閱 NfcAdapter#ACTION_NDEF_DISCOVERED
。 如果標籤不包含 NDEF 資料,或如果未向相符的資料 URI 或 MIME 類型註冊 NfcAdapter#ACTION_NDEF_DISCOVERED
任何活動,則分派會移至階段 3。 <h4 > 3. 標籤技術分派 < /h4 >Context#startActivity
是使用 NfcAdapter#ACTION_TECH_DISCOVERED
呼叫,以將標籤分派至可處理標籤上存在的技術的活動。 技術定義為 的 TagTechnology
子類別,請參閱套件 android.nfc.tech
。 Android OS 會尋找可處理標籤中一或多項技術的活動。 如需詳細資訊,請參閱 NfcAdapter#ACTION_TECH_DISCOVERED
。 <h4 4 > . 後援分派 < /h4 > 如果未比對任何活動,則會 Context#startActivity
使用 NfcAdapter#ACTION_TAG_DISCOVERED
呼叫 。 這是後援機制。 請參閱 NfcAdapter#ACTION_TAG_DISCOVERED
。
<h3 > NFC 標籤背景 < /h3 > NFC 標籤是被動 NFC 裝置,由此 Android 裝置的 NFC 欄位所支援,同時位於範圍內。 標籤可以有許多形式,例如貼紙、卡片、按鍵,甚至內嵌在更複雜的裝置中。
標籤可以有各種不同的功能。 簡單的標籤只會提供讀取/寫入語意,並包含一些可程式化區域,讓唯讀。 更複雜的標籤提供數學運算和個別磁區存取控制和驗證。 最複雜的標籤包含作業環境,允許與在 標記上執行的程式碼進行複雜的互動。 使用 TagTechnology
類別來存取 NFC 標籤中可用的各種功能。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
屬性
Class |
傳回這個 |
Creator | |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
JniIdentityHashCode |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
JniPeerMembers |
表示已探索到的 NFC 標記。 |
PeerReference |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
ThresholdClass |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 (繼承來源 Object) |
ThresholdType |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 (繼承來源 Object) |
方法
Clone() |
建立並傳回這個 物件的複本。 (繼承來源 Object) |
DescribeContents() |
描述這個可封送處理標記法中包含的特殊物件種類。 |
Dispose() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
Dispose(Boolean) |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
GetId() |
如果標籤識別碼有一個) ,請取得標籤識別碼 (。 |
GetTechList() |
取得此標籤中可用的技術,作為完整類別名稱。 |
JavaFinalize() |
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。 (繼承來源 Object) |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
ToArray<T>() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
Wait() |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 >< (繼承來源 Object) |
Wait(Int64) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 Object) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
將這個 物件壓平合併至一個托地。 |
明確介面實作
IJavaPeerable.Disposed() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
表示已探索到的 NFC 標記。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
表示已探索到的 NFC 標記。 |
GetJniTypeName(IJavaPeerable) |
表示已探索到的 NFC 標記。 |