首頁 > 投稿專欄 > 最新來稿 > 基于Android平臺的NFC技術的應用實現

基于Android平臺的NFC技術的應用實現

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


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

1.NFC技術

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

2.Android NFC架構

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

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

3.NFC Adapter的實現
  

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

4.NFC Server的實現

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

5. NFC HAL實現

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

6.標簽識別

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


7.NFC簡單代碼實現

Manifest文件的權限配置:

相關熱詞搜索: Android 平臺 NFC

上一篇:Ping命令使用指南

下一篇:最后一頁

分享到: 收藏

推薦閱讀

專題

亚洲国产成人久久综合三区_宅男影院在线观看_亲爱的老师4中字在线完整版_香蕉高清影视在线观看