NFC app代码主要的路径存放在:
packages\apps\Nfc 包含以下目录:
Assets:含start.png
etc:nfcee_access签名信息(CE模式权限)
nci:nci规范中的接口和驱动
nxp:nxp芯片对应的接口和驱动
res:app用到的图片,字串资源等
src:主要代码流程
tests:Google提供的部分测试程序
packages\apps\Settings\src\com\android\settings\nfc是Setting中关于NFC的代码
上层APP主要通过调用android.nfc.tech及android.nfc的接口来 实现期望的功能;而android.nfc.tech和android.nfc透过AIDL的方式调用到NfcService中的接口。 Framework中NfcService透过JNI与底层NFC Driver进行沟通,实现发送命令和接收event功能
1、/packages/app/Nfc/AndroidManifest.xml中设置了android:persistent=”true”。所以在 AM(ActivityManager)启动后,AM会启动NFC service.这个时候进入NFC service的启动流程
devices\平台相关
hardware\设备厂家提供的hardware lib
external\ 目录下是 NCI based NFC stack implementation,注意 halimpl 这个三级目 录中的 pn54x 下是 HAL 层的接口
external/libnfc-nci 将会在 /system/lib 下生成 libnfc_nci.so,将在 /system/lib/hw 下生成 nfc_nci_pn54x