W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
應用或其他模塊可以通過接口訪問多種協(xié)議或技術的Tag卡片。
類名 | 接口名 | 功能描述 |
---|---|---|
TagInfo | getTagId() | 獲取當前 Tag 的 ID。 |
getTagSupportedProfiles() | 獲取當前 Tag 支持的協(xié)議或技術。 | |
isProfileSupported(int profile) | 判斷 Tag 是否支持指定的協(xié)議或技術。 | |
TagManager | getTagInfo() | 獲取標簽信息。 |
connectTag() | 建立與 Tag 設備的連接。 | |
reset() | 重置與 Tag 設備的連接,同時會把寫 Tag 的超時時間恢復為默認值。 | |
isTagConnected() | 判斷與 Tag 設備是否保持連接。 | |
setSendDataTimeout(int timeout) | 設置發(fā)送數(shù)據(jù)到 Tag 的超時時間,單位是 ms。 | |
getSendDataTimeout() | 查詢發(fā)送數(shù)據(jù)到 Tag 設備的超時時間,單位是 ms。 | |
sendData(byte[] data) | 寫數(shù)據(jù)到 Tag 設備中。 | |
checkConnected() | 檢查 Tag 設備是否已連接。 | |
getMaxSendLength() | 獲取發(fā)送數(shù)據(jù)的最大長度。在發(fā)送數(shù)據(jù)到 Tag 設備時,用于查詢最大可發(fā)送數(shù)據(jù)的長度。 | |
IsoDepTag | IsoDepTag(TagInfo tagInfo) | 根據(jù)分發(fā) Tag信息獲取 IsoDep 類型 Tag 標簽對象。 |
getHiLayerResponse() | 獲取基于 NfcB 技術的 IsoDep 類型 Tag 的高層響應內容。 | |
getHistoricalBytes() | 獲取基于 NfcA 技術的 IsoDep 類型 Tag 的歷史字節(jié)內容。 | |
NfcATag | getInstance(TagInfo tagInfo) | 根據(jù)分發(fā) Tag 信息獲取 NfcA 標簽對象。 |
getSak() | 獲取 NfcA 類型 Tag 的 SAK。 | |
getAtqa() | 獲取 NfcA 類型 Tag 的 ATQA。 | |
NfcBTag | getInstance(TagInfo tagInfo) | 根據(jù)分發(fā) Tag 信息獲取 NfcB 標簽對象。 |
getRespAppData() | 獲取 NfcB 標簽對象的應用數(shù)據(jù)。 | |
getRespProtocol() | 獲取 NfcB 標簽對象的協(xié)議信息。 | |
NdefTag | getNdefMessage() | 獲取當前連接的 NDEF Tag 設備的 NDEF 信息。 |
getNdefMaxSize() | 獲取最大的 NDEF 信息尺寸。 | |
getTagType() | 獲取 NDEF Tag 設備類型。 | |
readNdefMessage() | 從當前連接的 NDEF Tag 設備讀取 NDEF 信息。 | |
writeNdefMessage(NdefMessage msg) | 寫 NDEF 信息到當前連接的 NDEF Tag 設備。 | |
canSetReadOnly() | 檢查 NDEF Tag 設備是否可被設置為只讀。 | |
setReadOnly() | 設置 NDEF Tag 設備為只讀。 | |
isNdefWritable() | 判斷 NDEF Tag 設備是否可寫。 | |
MifareClassicTag | getInstance(TagInfo tagInfo) | 根據(jù)分發(fā) Tag 信息獲取 MifareClassic 標簽對象。 |
getMifareType() | 獲取 MifareClassic Tag 設備的 Mifare 類型。 | |
getTagSize() | 獲取 MifareClassic Tag 設備的尺寸。 | |
getSectorsNum() | 獲取 MifareClassic Tag 設備內所有扇區(qū)數(shù)。 | |
getBlocksNum() | 獲取 MifareClassic Tag 設備內所有塊數(shù)。 | |
getBlocksNumForSector(int sectorId) | 獲取 MifareClassic Tag 設備內一個扇區(qū)的塊數(shù)。 | |
getSectorId(int blockId) | 用塊ID獲取 MifareClassic Tag 設備內扇區(qū)號。 | |
getFirstBlockId(int sectorId) | 獲取 MifareClassic Tag 設備內特定扇區(qū)的第一個塊 ID。 | |
authenSectorUseKey(int sectorId, byte[] key, byte keyType) | 用密鑰鑒權 MifareClassic Tag 設備內特定扇區(qū)。 | |
readBlock(int blockId) | 讀取 MifareClassic Tag 設備內特定塊內容。 | |
writeBlock(int blockId, byte[] data) | 在 MifareClassic Tag 設備內特定塊寫內容。 | |
incBlock(int blockId, int value) | 在 MifareClassic Tag 設備內特定塊的內容加上一個值。 | |
decBlock(int blockId, int value) | 從 MifareClassic Tag 設備內特定塊的內容減去一個值。 | |
restoreBlock(int blockId) | 把 MifareClassic Tag 設備內特定塊的內容移動到一個內部的緩存區(qū)。 | |
MifareUltralightTag | getInstance(TagInfo tagInfo) | 根據(jù)分發(fā) Tag 信息獲取 MifareUltralight 標簽對象。 |
getMifareType() | 獲取 MifareUltralight Tag 設備類型。 | |
readFourPages(int pageOffset) | 從 MifareUltralight Tag 設備的特定頁數(shù)開始讀四頁。 | |
writeOnePage(int pageOffset, byte[] data) | 在 MifareUltralight Tag 設備的特定頁數(shù)寫數(shù)據(jù)。 |
// 從Intent中獲取TagInfo,初始化TagInfo實例
TagInfo tagInfo = getIntent().getParcelableExtra(NfcController.EXTRA_TAG_INFO);
// 查詢Tag設備支持的技術或協(xié)議,返回值為支持的技術或協(xié)議列表
int[] profiles = tagInfo.getTagSupportedProfiles();
// 查詢是否支持NfcA,若支持,構造一個NfcATag
boolean isSupportedNfcA = tagInfo.isProfileSupported(TagManager.NFC_A);
if (isSupportedNfcA) {
NfcATag tagNfcA = NfcATag.getInstance(tagInfo);
}
// 查詢是否支持NfcB,若支持,構造一個NfcBTag
boolean isSupportedNfcB = tagInfo.isProfileSupported(TagManager.NFC_B);
if (isSupportedNfcB) {
NfcBTag tagNfcB = NfcBTag.getInstance(tagInfo);
}
// 查詢是否支持IsoDep,若支持,構造一個IsoDepTag
boolean isSupportedIsoDep = tagInfo.isProfileSupported(TagManager.ISO_DEP);
if (isSupportedIsoDep) {
IsoDepTag tagIsoDep = new IsoDepTag(tagInfo);
}
// 查詢是否支持NDEF,若支持,構造一個NdefTag
boolean isSupportedNdefDep = tagInfo.isProfileSupported(TagManager.NDEF);
if (isSupportedNdefDep) {
NdefTag tagNdef = new NdefTag(tagInfo);
}
// 查詢是否支持MifareClassic,若支持,構造一個MifareClassicTag
boolean isSupportedMifareClassic = tagInfo.isProfileSupported(TagManager.MIFARE_CLASSIC);
if (isSupportedMifareClassic) {
MifareClassicTag mifareClassicTag = MifareClassicTag.getInstance(tagInfo);
}
// 查詢是否支持MifareUltralight,若支持,構造一個MifareUltralightTag
boolean isSupportedMifareUltralight = tagInfo.isProfileSupported(TagManager.MIFARE_ULTRALIGHT);
if (isSupportedMifareUltralight) {
MifareUltralightTag mifareUltralightTag = MifareUltralightTag.getInstance(tagInfo);
}
// 連接 Tag 設備,返回值為是否連接成功
boolean connSuccess = tagNfcA.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected= tagNfcA.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = tagNfcA.sendData(data);
// 連接Tag設備,返回值為是否連接成功
boolean connSuccess = tagNfcB.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected= tagNfcB.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = tagNfcB.sendData(data);
// 連接Tag設備,返回值為是否連接成功
boolean connSuccess = tagIsoDep.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected= tagIsoDep.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = tagIsoDep.sendData(data);
// 連接Tag設備,返回值為是否連接成功
boolean connSuccess = tagNdef.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected = tagNdef.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = tagNdef.sendData(data);
// 連接Tag設備,返回值為是否連接成功
boolean connSuccess = mifareClassicTag.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected = mifareClassicTag.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = mifareClassicTag.sendData(data);
// 連接Tag設備,返回值為是否連接成功
boolean connSuccess = mifareUltralightTag.connectTag();
// 查詢Tag連接狀態(tài)
boolean isConnected = mifareUltralightTag.isTagConnected();
// 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應數(shù)據(jù)
byte[] data = {0x13, 0x59, 0x22};
byte[] response = mifareUltralightTag.sendData(data);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: