檢測到标簽後在activity中的處理流程
1. 在oncreate()中擷取nfcadapter對象;
nfcadapter nfcadapter = nfcadapter.getdefaultadapter(this);
2.在onnewintent()中擷取tag對象或者ndefmessage資訊;
擷取tag對象:
tag tag = intent.getparcelableexra(nfcadapter.extra_tag);
擷取ndefmessage資訊:
parcelable[] rawmsgs = getintent().getparcelablearrayextra(nfcadapter.extra_ndef_messages)
3.也可以通過tag建立ndef對象等,以實作标簽的屬性和i/o操作。
ndef ndef = ndef.get(tag);
ndef格式标簽的讀取流程
2.在onnewintent()中判斷是否為ndef格式标簽(action_ndef_discovered),若是則擷取ndefmessage
資訊;(需要強制轉換成ndefmessage對象)
3.對ndefmessage對象進行解析,擷取相關的文本資訊或uri等。
ndef格式标簽的寫入流程
2.在onnewintent()中擷取tag對象;
3.通過tag建立ndef對象;
4.将文本等資料封裝成ndefmessage;
5.判斷是否為ndef格式标簽,
若是ndef格式:
(1)允許進行标簽操作:ndef.connect();
(2) 調用ndef.writendefmessage(ndefmessage)方法寫入。
若非ndef格式:
(1)ndeffromatable format = ndeffromatable.get();
(2)允許進行标簽操作:format.connect();
(3)調用format.format(ndefmessage)方法寫入。
ndefmessage資訊結構

ndefrecord中的常用方法
1.可通過ndefrecord.gettnf()方法來獲得tnf字段;
2.通過ndefrecord.gettype()方法來獲得rtd字段,當tnf為tnf_well_known時的rtd。
3.通過ndefrecord.getpayload()方法來獲得實際讀寫的資料。
ndef文本格式
ndefmessage中的paylaod就是實際的資料,其中ndef文本格式為:
ndef uri格式
1、ndefmessage中的paylaod就是實際的資料,其中ndef文本格式為:
2、字首需要查表解析
例子程式:
readwritetextmainactivity:
inputtextactivity:
shownfctagcontentactivity:
textrecord:
androidmanifest.xml: