• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    首頁(yè) > 投稿專(zhuān)欄 > 最新來(lái)稿 > 基于A(yíng)ndroid平臺的NFC技術(shù)的應用實(shí)現

    基于A(yíng)ndroid平臺的NFC技術(shù)的應用實(shí)現

       作者:Anhui OSS   來(lái)源:http://www.anhuioss.com/cn/tips/15/tip15.html   評論:0  點(diǎn)擊:


            近距離無(wú)線(xiàn)通信(NFC)是一種簡(jiǎn)單的,非觸控式的互聯(lián)技術(shù),可以讓消費者簡(jiǎn)單直觀(guān)的交換信息,訪(fǎng)問(wèn)內容和服務(wù),在電子消費領(lǐng)域有著(zhù)廣泛的應用。NFC整合非接觸式讀卡器、非接觸式智能卡和點(diǎn)對點(diǎn)(Peer-to-Peer)通信功能,為消費者開(kāi)創(chuàng )全新便捷生活方式。

    1.NFC技術(shù)

           NFC終端有三種工作模式:
    1)主動(dòng)模式,NFC終端作為一個(gè)讀卡器,主動(dòng)發(fā)出自己的射頻場(chǎng)去識別和讀/寫(xiě)別的NFC設備;
    2)被動(dòng)模式,NFC終端可以模擬成一個(gè)智能卡被讀寫(xiě),它只能在其它設備發(fā)出的射頻場(chǎng)中被動(dòng)響應;
    3)雙向模式,雙方都主動(dòng)發(fā)出射頻場(chǎng)來(lái)建立點(diǎn)對點(diǎn)的通信。

    2.Android NFC架構

           android系統為了支持NFC功能,允許應用程序讀取標簽中的數據,并以NDEF(NFC Data Exchange Format)消息格式進(jìn)行交互。標簽還可以是另外一個(gè)設備,即NFC設備工作在卡模擬模式。
    NFC軟件架構中定義的數據結構:
    1)NFC管理器(NFC Manager),提供給應用程序編程接口,作為應用程序訪(fǎng)問(wèn)NFC功能的入口,為了獲取NFC適配器實(shí)例。
    2)NFC適配器(NFC Adapter),提供一切NFC操作,包括NFC設備開(kāi)關(guān)、標簽讀取、NDEF數據交互、NFC安全訪(fǎng)問(wèn)、點(diǎn)對點(diǎn)通信等。
    3)NDEF消息(NDEF Message),是設備和標簽之間傳遞的數據標準封裝格式,是由一個(gè)或多個(gè)NDEF數據記錄組成,在應用程序中通過(guò)接受ACTION_TAG_DISCOVERED Intent來(lái)讀取NDEF消息。
    4)NDEF記錄(NDEF Record),是NDEF數據包的基本組成單元。一個(gè)NDEF數據包可以有一個(gè)或者多個(gè)NDEF記錄。

            NFC 在android架構中采用Service和Manager基本結構模型,通過(guò)Binder和Service通信,如圖一所示android基于Binder的IPC的基本模型是基于會(huì )話(huà)的客戶(hù)/服務(wù)器(C/S)架構的。Android使用內核模塊Binder來(lái)中轉各個(gè)進(jìn)程之間的會(huì )話(huà)數據,它是一個(gè)字符驅動(dòng)程序,主要通過(guò)IOCTL與用戶(hù)空間的進(jìn)程交換數據。一次會(huì )話(huà)是在一個(gè)代理Binder對象和服務(wù)Binder對象之間進(jìn)行,可以在同一進(jìn)程也可以在不同進(jìn)程。會(huì )話(huà)是一個(gè)同步操作,由代理Binder對象發(fā)起請求,一直要等到服務(wù)Binder對象將回復傳遞給代理Binder對象才算完成。

    3.NFC Adapter的實(shí)現
      

          NFC Adapter主要實(shí)現的功能如下:
    1)設備初始化以及開(kāi)關(guān),相關(guān)函數方法:
    private static synchronized INfcAdapter setupService()
    public boolean enable()
    public boolean disable()
    2)NDEF消息的讀寫(xiě)和安全管理鏈接,相關(guān)函數方法:
    public void setLocalNdefMessage(NdefMessage message)
    public NdefMessage getLocalNdefMessage()
    public NdefSecureElement createNdefSecureElementConnection()
    3)P2P的后臺通信 ,相關(guān)函數方法:
    public void enableForegroundNdefPush(Activity activity,NdefMessage message)
    public void disableForegroundNdefPush(Activity activity)
           這些基本函數都是NFC Binder客戶(hù)端函數,通過(guò)Binder IPC調用Service 對應的函數進(jìn)行通信處理。

    4.NFC Server的實(shí)現

          NFC Service主要實(shí)現以下功能:
    1)Adapter中的Binder客戶(hù)端對應Service函數實(shí)現,包括INfcTag.Stub,INfcAdapter.Stub等;
    2)Service狀態(tài)管理的消息處理;
    3)Java本地接口(JNI)的Native代碼的訪(fǎng)問(wèn)接口。

    5. NFC HAL實(shí)現

          NFC HAL(Hardware Abstract Layer)層,包括以下功能:
    1)底層RF控制;
    2)NFC標簽讀寫(xiě)處理以及標簽模擬;
    3)點(diǎn)對點(diǎn)通信;
    4)同單總線(xiàn)的SIM卡或者其它安全設施通信;
    5)對基于Felica,Mifare和ISO14443的RFID標簽做兼容處理。

    6.標簽識別

            在標簽識別開(kāi)始前,確認NFC設備使用正常,可獲取NDEF設備。NFC HAL探測到有效距離范圍內有標簽存在,則讀取數據,向NFC Service發(fā)送標簽識別事件,NFC Service 廣播NfcAdapter.ACTION_TAG_DISCOVERED Intent消息,應用程序通過(guò)接受該消息即可獲取標簽數據。


    7.NFC簡(jiǎn)單代碼實(shí)現

    Manifest文件的權限配置:

    相關(guān)熱詞搜索: Android 平臺 NFC

    上一篇:Ping命令使用指南

    下一篇:最后一頁(yè)

    分享到: 收藏

    推薦閱讀

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 巫溪县| 蓬莱市| 西丰县| 曲靖市| 东乌珠穆沁旗| 普陀区| 涿州市| 大同县| 师宗县| 铜川市| 遵义市| 南丰县| 赤峰市| 上饶县| 和田县| 古丈县| 洞口县| 和田市| 乌兰浩特市| 寻乌县| 沙洋县| 武定县| 舟山市| 平果县| 抚州市| 绥宁县| 和龙市| 嘉禾县| 德兴市| 梅河口市| 滁州市| 彭州市| 桐乡市| 丘北县| 沧州市| 游戏| 平乡县| 轮台县| 辛集市| 阿拉尔市| 鄂托克旗| http://444 http://444 http://444 http://444 http://444 http://444