**:
本文譯自:
本文介紹一些高階的nfc專題,如多樣的nfc標籤技術、編寫nfc標籤、以及前台排程,前台排程允許在前台的應用程式優先排程intent事件,即使還有其他的過濾同樣的intent事件的應用程式存在。
android所支援的nfc標籤技術
在使用nfc標籤和android裝置來進行工作的時候,使用的讀寫nfc標籤上資料的主要格式是ndef。當裝置掃瞄到帶有ndef的資料時,android會提供對訊息解析的支援,並在可能的時候,會以ndefmessage物件的形式來傳送它。但是,有些情況下,裝置掃瞄到的nfc標籤沒有包含ndef資料,或者該ndef資料沒有被對映到mime型別或uri。在這些情況下,你需要開啟跟nfc標籤的通訊,並用自己的協議(原始的位元組形式)來讀寫它。android用android.nfc.tech包提供了對這些情況的一般性支援,這個包在下表1中介紹。你能夠使用gettechlist()方法來判斷nfc標籤所支援的的技術,並且用android.nfc.tech提供的乙個類來建立對應的tagtechnology物件。
表1.nfc標籤所支援的技術
類
介紹
tagtechnology
所有的nfc標籤技術類必須實現的介面。
nfca
提供對nfc-a(iso 14443-3a)屬性和i/o操作的訪問。
nfcb
提供對nfc-b(iso 14443-3b)屬性和i/o操作的訪問。
nfcf
提供對nfc-f(iso 6319-4)屬性和i/o操作的訪問。
nfcv
提供對nfc-v(iso 15693)屬性和i/o操作的訪問。
isodep
提供對nfc-a(iso 14443-4)屬性和i/o操作的訪問。
ndef
提供對ndef格式的nfc標籤上的ndef資料和操作的訪問。
ndefformatable
提供了對可以被ndef格式化的nfc標籤的格式化操作。
表2.可選的nfc標籤所支援的技術
類
介紹
mifareclassic
如果android裝置支援mifare,那麼它提供了對經典的mifare型別標籤屬性和i/o操作的訪問。
mifareultralight
如果android裝置支援mifare,那麼它提供了對超薄的mifare型別標籤屬性和i/o操作的訪問。
nfc標籤和action_tech_discovered型別的intent協同工作
當裝置掃瞄到帶有ndef資料的nfc標籤,但卻不能對映到mime或uri時,nfc標籤排程系統就嘗試使用action_tech_discovered型別的intent來啟動乙個activity。在被掃瞄到的nfc標籤上沒有ndef資料時,也會使用action_tech_discovered型別的intent。有了這種回退機制,如果排程系統不能夠幫你解析資料,那麼你就可以直接使用nfc標籤上資料來工作。基本步驟如下:
1. 給你希望處理的nfc標籤指定action_tech_discovered型別的intent過濾器。更多資訊請看「nfc的intent過濾」。通常,在ndef訊息不能被對映到mime型別或uri時,或者被掃瞄到的nfc標籤不包含ndef資料時,nfc標籤排程系統會嘗試啟動乙個action_tech_discovered型別的intent。更多資訊,請看「nfc標籤排程系統」。
2. 應用程式接收到intent物件時,從該intent物件中獲取tag物件:
tag tagfromintent = intent.getparcelableextra(nfcadapter.extra_tag);
3. 通過呼叫android.nfc.tech包中對應類的乙個get工廠方法,來獲取乙個tagtechnology物件例項。在呼叫get工廠方法之前,通過呼叫gettechlist()方法來列舉nfc標籤所支援的技術。例如,用下列方法從tag物件中獲取mifareultralight物件例項:
mifareultralight.get
(intent
.getparcelableextra
(nfcadapter
.extra_tag
));
Android近場通訊 NFC基礎(二)
應用程式如何排程nfc標籤 當標籤排程系統完成對nfc標籤和它的標識資訊封裝的intent物件的建立時,它會把該intent物件傳送給感興趣的應用程式。如果有多個應用程式能夠處理該intent物件,就會顯示activity選擇器,讓使用者選擇activity。標籤排程系統定義了三種intent物件,...
Android近場通訊 NFC基礎(四)
從intent中獲取資訊 如果因為nfc的intent而啟動乙個activity,那麼你就能夠從intent中獲取被掃瞄到的nfc標籤的相關資訊。根據被掃瞄到的標籤,intent物件能夠以下額外的資訊 1.extra tag 必須的 它是乙個代表了被掃瞄到的標籤的 tag物件 2.extra nde...
NFC近場通訊,NFC列印開發
在進行nfc列印時我們先要了解印表機的屬性,本文中印表機以exp342為標準進行編寫整合技術文件。exp342的部分設定請參考該產品的使用說明書。我們在進行android整合開發時需要注意印表機的黑標感應點的位置,確定列印紙張黑標是否完全覆蓋印表機黑標感應點,如果未完全覆蓋將會導致列印紙不能走到你預...