• <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>
    首頁 > 投稿專欄 > 最新來稿 > 基于Android平臺的NFC技術(shù)的應(yīng)用實現(xiàn)

    基于Android平臺的NFC技術(shù)的應(yīng)用實現(xiàn)

       作者:Anhui OSS   來源:http://www.anhuioss.com/cn/tips/15/tip15.html   評論:0  點擊:


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

    1.NFC技術(shù)

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

    2.Android NFC架構(gòu)

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

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

    3.NFC Adapter的實現(xiàn)
      

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

    4.NFC Server的實現(xiàn)

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

    5. NFC HAL實現(xiàn)

          NFC HAL(Hardware Abstract Layer)層,包括以下功能:
    1)底層RF控制;
    2)NFC標簽讀寫處理以及標簽?zāi)M;
    3)點對點通信;
    4)同單總線的SIM卡或者其它安全設(shè)施通信;
    5)對基于Felica,Mifare和ISO14443的RFID標簽做兼容處理。

    6.標簽識別

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


    7.NFC簡單代碼實現(xiàn)

    Manifest文件的權(quán)限配置:

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

    上一篇:Ping命令使用指南

    下一篇:最后一頁

    分享到: 收藏

    推薦閱讀

    專題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 长丰县| 霍城县| 错那县| 博罗县| 兖州市| 漾濞| 清流县| 云南省| 曲周县| 海盐县| 东海县| 舞钢市| 怀化市| 洪湖市| 南部县| 德令哈市| 滦南县| 荥经县| 安泽县| 辽阳市| 石台县| 宁夏| 卓尼县| 桂平市| 永泰县| 博白县| 留坝县| 阳谷县| 勐海县| 蚌埠市| 石台县| 蕉岭县| 潮州市| 阿坝县| 通州区| 新巴尔虎右旗| 平乐县| 九龙县| 花垣县| 甘洛县| 盐边县| http://444 http://444 http://444 http://444 http://444 http://444