原创:木头月亮

来自:http://blog.csdn.net/mutouyueliang/archive/2011/03/08/6232028.aspx

Android中对NFC的实现代码分布在如下几个地方:

./frameworks/base/core/java/android/nfc/

./frameworks/base/core/java/android/nfc/tech

./frameworks/base/core/java/com/android/internal/nfc/

./external/libnfc-nxp

./packages/apps/nfc

其中./external/libnfc-nxp是用C语言编写的函数库,编译生成libnfc和libnfc_ndef两个函数库。libnfc 是一个主要的库,实现了NFC Stack的大部分功能,主要供NFC的服务进程调用。libnfc_ndef是一个很小的函数库,主要是实现NDEF消息的解析,供Framework 调用。

./packages/apps/nfc是一个类似于电话本的应用程序,但这个程序在手机开机后自动启动,一直运行,是作为NFC的服务进程存在的。是NFC架构中的核心。

./frameworks/base/core/java/android/nfc/,./frameworks/base/core/java /android/nfc/tech和./frameworks/base/core/java/com/android/internal/nfc/这 三个目录实现了NFC的应用接口,其中./frameworks/base/core/java/com/android/internal/nfc/是 一些内部类或结构,不对外开放,仅供./frameworks/base/core/java/android/nfc/和./frameworks /base/core/java/android/nfc/tech中的类调用。./frameworks/base/core/java /android/nfc实现了接口包com.android.nfc,./frameworks/base/core/java/android /nfc/tech实现了接口包com.android.nfc.tech.

图示如下:

附录:

NFC Service的说明

NFC:MoveNFCserviceimplementationoutofsystem_server.

NFCserviceisnowanapplicationserviceinpackages/apps/Nfc.

NFCserviceisregisteredthroughServiceManager.addService(),andtheproxy
objectNfcAdapterobtainsahandletoitthroughServiceManager.getService().

**Important**HadtoaddnewsymbolsAID_NFC/NFC_UID/android.uid.nfcand
modifyservice_manager.c,Process.javaandPackageManagerService.javainorder
toforcethecom.android.nfcprocesstotakeafixeduid,sothatitcanuse
ServiceManager.addService().

MostoftheJNIhasmovedtopackages/apps/Nfc/jni.HoweverNdefRecordand
NdefMessagerequiresomein-processnativecode,soandroid_com_NdefMessage.cpp
andandroid_com_NdefRecord.cppstayinframeworks/base/core/jni.Theylinkto
averysmalllibrarylibnfc_ndef.sothatimplementsNDEFmessageparsing.This
hasbeenaddedtocore.mksoalldevices(evenwithoutNFChardware)canwork
withNDEFdata.

原创:木头月亮

来自:http://blog.csdn.net/mutouyueliang/archive/2011/03/08/6232028.aspx

更多相关文章

  1. 理解onMeasure
  2. ReactNative 调用Android(安卓)原生(二)——原生组件
  3. Android】获取Mac地址
  4. android webService
  5. android的四大组件及其生命周期
  6. Android单位转换工具类
  7. Android(安卓)进阶16:IntentService 使用及源码解析
  8. Android四大基本组件介绍与生命周期
  9. Android中通过Intent 调用图片、视频、音频、录音、拍照

随机推荐

  1. CSS文件filemtime没有调用路径两次
  2. EasyUI学习之输入框
  3. Jquery中的事件处理(自动触发事件,禁用按
  4. ext给grid加toolTip提示(转自http://blog.
  5. 我们可以有多个在同一个吗?
  6. 纯HTML+CSS+JQUERY的响应式导航
  7. 更改所选文本的背景颜色,HTML JQUERY
  8. Server.Htmlencode用于文本域显示带的htm
  9. IOS学习之WebView加载本地HTML代码或网络
  10. 利用HTML canvas制作酷炫星星坠地粒子特