日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSTag讀寫

場景介紹

10年積累的網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有江干免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

應(yīng)用或其他模塊可以通過接口訪問多種協(xié)議或技術(shù)的Tag卡片。

接口說明

類名 接口名 功能描述
TagInfo getTagId() 獲取當(dāng)前 Tag 的 ID。
getTagSupportedProfiles() 獲取當(dāng)前 Tag 支持的協(xié)議或技術(shù)。
isProfileSupported(int profile) 判斷 Tag 是否支持指定的協(xié)議或技術(shù)。
TagManager getTagInfo() 獲取標(biāo)簽信息。
connectTag() 建立與 Tag 設(shè)備的連接。
reset() 重置與 Tag 設(shè)備的連接,同時會把寫 Tag 的超時時間恢復(fù)為默認(rèn)值。
isTagConnected() 判斷與 Tag 設(shè)備是否保持連接。
setSendDataTimeout(int timeout) 設(shè)置發(fā)送數(shù)據(jù)到 Tag 的超時時間,單位是 ms。
getSendDataTimeout() 查詢發(fā)送數(shù)據(jù)到 Tag 設(shè)備的超時時間,單位是 ms。
sendData(byte[] data) 寫數(shù)據(jù)到 Tag 設(shè)備中。
checkConnected() 檢查 Tag 設(shè)備是否已連接。
getMaxSendLength() 獲取發(fā)送數(shù)據(jù)的最大長度。在發(fā)送數(shù)據(jù)到 Tag 設(shè)備時,用于查詢最大可發(fā)送數(shù)據(jù)的長度。
IsoDepTag IsoDepTag(TagInfo tagInfo) 根據(jù)分發(fā) Tag信息獲取 IsoDep 類型 Tag 標(biāo)簽對象。
getHiLayerResponse() 獲取基于 NfcB 技術(shù)的 IsoDep 類型 Tag 的高層響應(yīng)內(nèi)容。
getHistoricalBytes() 獲取基于 NfcA 技術(shù)的 IsoDep 類型 Tag 的歷史字節(jié)內(nèi)容。
NfcATag getInstance(TagInfo tagInfo) 根據(jù)分發(fā) Tag 信息獲取 NfcA 標(biāo)簽對象。
getSak() 獲取 NfcA 類型 Tag 的 SAK。
getAtqa() 獲取 NfcA 類型 Tag 的 ATQA。
NfcBTag getInstance(TagInfo tagInfo) 根據(jù)分發(fā) Tag 信息獲取 NfcB 標(biāo)簽對象。
getRespAppData() 獲取 NfcB 標(biāo)簽對象的應(yīng)用數(shù)據(jù)。
getRespProtocol() 獲取 NfcB 標(biāo)簽對象的協(xié)議信息。
NdefTag getNdefMessage() 獲取當(dāng)前連接的 NDEF Tag 設(shè)備的 NDEF 信息。
getNdefMaxSize() 獲取最大的 NDEF 信息尺寸。
getTagType() 獲取 NDEF Tag 設(shè)備類型。
readNdefMessage() 從當(dāng)前連接的 NDEF Tag 設(shè)備讀取 NDEF 信息。
writeNdefMessage(NdefMessage msg) 寫 NDEF 信息到當(dāng)前連接的 NDEF Tag 設(shè)備。
canSetReadOnly() 檢查 NDEF Tag 設(shè)備是否可被設(shè)置為只讀。
setReadOnly() 設(shè)置 NDEF Tag 設(shè)備為只讀。
isNdefWritable() 判斷 NDEF Tag 設(shè)備是否可寫。
MifareClassicTag getInstance(TagInfo tagInfo) 根據(jù)分發(fā) Tag 信息獲取 MifareClassic 標(biāo)簽對象。
getMifareType() 獲取 MifareClassic Tag 設(shè)備的 Mifare 類型。
getTagSize() 獲取 MifareClassic Tag 設(shè)備的尺寸。
getSectorsNum() 獲取 MifareClassic Tag 設(shè)備內(nèi)所有扇區(qū)數(shù)。
getBlocksNum() 獲取 MifareClassic Tag 設(shè)備內(nèi)所有塊數(shù)。
getBlocksNumForSector(int sectorId) 獲取 MifareClassic Tag 設(shè)備內(nèi)一個扇區(qū)的塊數(shù)。
getSectorId(int blockId) 用塊ID獲取 MifareClassic Tag 設(shè)備內(nèi)扇區(qū)號。
getFirstBlockId(int sectorId) 獲取 MifareClassic Tag 設(shè)備內(nèi)特定扇區(qū)的第一個塊 ID。
authenSectorUseKey(int sectorId, byte[] key, byte keyType) 用密鑰鑒權(quán) MifareClassic Tag 設(shè)備內(nèi)特定扇區(qū)。
readBlock(int blockId) 讀取 MifareClassic Tag 設(shè)備內(nèi)特定塊內(nèi)容。
writeBlock(int blockId, byte[] data) 在 MifareClassic Tag 設(shè)備內(nèi)特定塊寫內(nèi)容。
incBlock(int blockId, int value) 在 MifareClassic Tag 設(shè)備內(nèi)特定塊的內(nèi)容加上一個值。
decBlock(int blockId, int value) 從 MifareClassic Tag 設(shè)備內(nèi)特定塊的內(nèi)容減去一個值。
restoreBlock(int blockId) 把 MifareClassic Tag 設(shè)備內(nèi)特定塊的內(nèi)容移動到一個內(nèi)部的緩存區(qū)。
MifareUltralightTag getInstance(TagInfo tagInfo) 根據(jù)分發(fā) Tag 信息獲取 MifareUltralight 標(biāo)簽對象。
getMifareType() 獲取 MifareUltralight Tag 設(shè)備類型。
readFourPages(int pageOffset) 從 MifareUltralight Tag 設(shè)備的特定頁數(shù)開始讀四頁。
writeOnePage(int pageOffset, byte[] data) 在 MifareUltralight Tag 設(shè)備的特定頁數(shù)寫數(shù)據(jù)。

讀取卡片類型

  1. 從 Intent 中獲取 TagInfo,初始化 TagInfo 實例。
  1. TagInfo 實例調(diào)用 getTagSupportedProfiles()接口查詢當(dāng)前 Tag 支持的技術(shù)或協(xié)議類型。
  1. 調(diào)用 isProfileSupported(int profile)接口查詢是否支持 NfcA、IsoDep、MifareClassic 等類型。若支持,可使用 TagInfo 實例構(gòu)造 NfcATag、IsoDep、MifareClassic 等實例。
  1. 根據(jù)不同的 Tag 技術(shù)類型的實例,調(diào)用不同的API完成 Tag 的訪問。
   // 從Intent中獲取TagInfo,初始化TagInfo實例
   TagInfo tagInfo = getIntent().getParcelableExtra(NfcController.EXTRA_TAG_INFO);

    
   // 查詢Tag設(shè)備支持的技術(shù)或協(xié)議,返回值為支持的技術(shù)或協(xié)議列表
   int[] profiles = tagInfo.getTagSupportedProfiles();

    
   // 查詢是否支持NfcA,若支持,構(gòu)造一個NfcATag
   boolean isSupportedNfcA = tagInfo.isProfileSupported(TagManager.NFC_A);
   if (isSupportedNfcA) {
       NfcATag tagNfcA = NfcATag.getInstance(tagInfo);
   }

    
   // 查詢是否支持NfcB,若支持,構(gòu)造一個NfcBTag
   boolean isSupportedNfcB = tagInfo.isProfileSupported(TagManager.NFC_B);
   if (isSupportedNfcB) {
       NfcBTag tagNfcB = NfcBTag.getInstance(tagInfo);
   }

    
   // 查詢是否支持IsoDep,若支持,構(gòu)造一個IsoDepTag
   boolean isSupportedIsoDep = tagInfo.isProfileSupported(TagManager.ISO_DEP);
   if (isSupportedIsoDep) {
       IsoDepTag tagIsoDep = new IsoDepTag(tagInfo);
   }

    
   // 查詢是否支持NDEF,若支持,構(gòu)造一個NdefTag
   boolean isSupportedNdefDep = tagInfo.isProfileSupported(TagManager.NDEF);
   if (isSupportedNdefDep) {
       NdefTag tagNdef = new NdefTag(tagInfo);
   }

    
   // 查詢是否支持MifareClassic,若支持,構(gòu)造一個MifareClassicTag
   boolean isSupportedMifareClassic = tagInfo.isProfileSupported(TagManager.MIFARE_CLASSIC);
   if (isSupportedMifareClassic) {
       MifareClassicTag mifareClassicTag = MifareClassicTag.getInstance(tagInfo);
   }

    
   // 查詢是否支持MifareUltralight,若支持,構(gòu)造一個MifareUltralightTag
   boolean isSupportedMifareUltralight = tagInfo.isProfileSupported(TagManager.MIFARE_ULTRALIGHT);
   if (isSupportedMifareUltralight) {
       MifareUltralightTag mifareUltralightTag = MifareUltralightTag.getInstance(tagInfo);
   }

訪問 NfcA 卡片

  1. 調(diào)用 connectTag() 接口連接 Tag 設(shè)備。
  1. 調(diào)用 isTagConnected()接口查詢 Tag 設(shè)備連接狀態(tài)。
  1. 調(diào)用 sendData(byte[] data)接口發(fā)送數(shù)據(jù)到 Tag。
   // 連接 Tag 設(shè)備,返回值為是否連接成功
   boolean connSuccess = tagNfcA.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected= tagNfcA.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = tagNfcA.sendData(data);

訪問 NfcB 卡片

  1. 調(diào)用 connectTag() 接口連接 Tag 設(shè)備。
  1. 調(diào)用 isTagConnected() 接口查詢 Tag 設(shè)備連接狀態(tài)。
  1. 調(diào)用 sendData(byte[] data) 接口發(fā)送數(shù)據(jù)到 Tag。
   // 連接Tag設(shè)備,返回值為是否連接成功
   boolean connSuccess = tagNfcB.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected= tagNfcB.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = tagNfcB.sendData(data);

訪問 IsoDep 卡片

  1. 調(diào)用getTagInfo()接口獲取TagInfo對象。
  1. 調(diào)用connectTag()接口連接Tag設(shè)備。
  1. 調(diào)用isTagConnected()接口查詢Tag設(shè)備連接狀態(tài)。
  1. 調(diào)用sendData(byte[] data)接口發(fā)送數(shù)據(jù)到Tag。
   // 連接Tag設(shè)備,返回值為是否連接成功
   boolean connSuccess = tagIsoDep.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected= tagIsoDep.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = tagIsoDep.sendData(data);

訪問Ndef卡片

  1. 調(diào)用 getTagInfo()接口獲取 TagInfo 對象。
  1. 調(diào)用 connectTag()接口連接 Tag 設(shè)備。
  1. 調(diào)用 isTagConnected()接口查詢 Tag 設(shè)備連接狀態(tài)。
  1. 調(diào)用 sendData(byte[] data)接口發(fā)送數(shù)據(jù)到 Tag。
   // 連接Tag設(shè)備,返回值為是否連接成功
   boolean connSuccess = tagNdef.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected = tagNdef.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = tagNdef.sendData(data);

訪問 MifareClassic 卡片

  1. 調(diào)用 getTagInfo()接口獲取 TagInfo 對象。
  1. 調(diào)用 connectTag()接口連接 Tag 設(shè)備。
  1. 調(diào)用 isTagConnected()接口查詢 Tag 設(shè)備連接狀態(tài)。
  1. 調(diào)用 sendData(byte[] data)接口發(fā)送數(shù)據(jù)到 Tag。
   // 連接Tag設(shè)備,返回值為是否連接成功
   boolean connSuccess = mifareClassicTag.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected = mifareClassicTag.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = mifareClassicTag.sendData(data);

訪問 MifareUltralight 卡片

  1. 調(diào)用 getTagInfo() 接口獲取 TagInfo 對象。
  1. 調(diào)用 connectTag() 接口連接 Tag 設(shè)備。
  1. 調(diào)用 isTagConnected() 接口查詢 Tag 設(shè)備連接狀態(tài)。
  1. 調(diào)用 sendData(byte[] data) 接口發(fā)送數(shù)據(jù)到 Tag。
   // 連接Tag設(shè)備,返回值為是否連接成功
   boolean connSuccess = mifareUltralightTag.connectTag();

    
   // 查詢Tag連接狀態(tài)
   boolean isConnected = mifareUltralightTag.isTagConnected();

    
   // 發(fā)送數(shù)據(jù)到Tag,返回值為Tag的響應(yīng)數(shù)據(jù)
   byte[] data = {0x13, 0x59, 0x22};
   byte[] response = mifareUltralightTag.sendData(data);

分享題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSTag讀寫
標(biāo)題來源:http://www.dlmjj.cn/article/coggphc.html