NFC代码结构

本文介绍了NFC app的代码结构,主要集中在packages/apps/Nfc目录下,包括Assets、etc、nci、nxp、res和src等子目录。上层应用通过调用android.nfc.tech和android.nfc接口与NfcService交互。NFC服务通过JNI与底层驱动通信,实现三种运行模式:R/W、P2P和Card Emulation。文章还详细解析了NfcManager、NfcAdapter、NdefMessage和Tag类等关键API,并提及NfcService的重要组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.default.so
frameworks 目录下是 NFC 接口和公用的 API。
frameworks/base/core/java/android/nfc 及frameworks/base/core/java/com/nxp/nfc 将会生成 /sys

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值