当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] Android NFC架构分析

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: Move NFC service implementation out of system_server.

NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy object NfcAdapter obtains a handle to it through

ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and modify service_manager.c, Process.java and PackageManagerService.java

in order to force the com.android.nfc process to take a fixed uid, so that it can use ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and NdefMessage require some in-process native code, so

android_com_NdefMessage.cpp and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to a very small library libnfc_ndef.so

that implements NDEF message parsing. This has been added to core.mk so all devices (even without NFC hardware) can work with NDEF data.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力企业更快、更轻松地迁移VMware工作负载,无需重构应用或变更架构 北京2025年8月11日 /美通社/ -- 亚马逊云科技日前宣布Amazon Elastic VMware Service(Amazon EVS)...

关键字: SERVICE VMWARE 亚马逊 TI

其他电脑(比如安卓手机/平板电脑)的屏幕坏了,你可能想在安排维修之前紧急访问一些东西。你可以使用android的USB OTG功能(是的,几乎每个android都支持这个功能,你可以将鼠标和键盘连接到它)。

关键字: USB 鼠标 Android 树莓派

Roomie是一款由树莓派(Raspberry pi)驱动、NFC触发的儿童Spotify播放器——没有屏幕,没有手机,只放一个芯片就可以播放音乐。

关键字: Roomie 树莓派 NFC

Google 宣布与中国 AR 科技公司 XREAL 达成深度战略合作,联合推出全球首款专为 Android XR 平台打造的旗舰级 AR 眼镜 Project Aura。

关键字: Google XREAL Android XR眼镜 AR

近年来,近场通信(NFC)技术以其便捷、安全和高兼容性的特性,逐渐渗透到日常生活的方方面面。从“支付宝碰一碰”实现快速支付,到共享单车解锁、快递柜取件,再到智能眼镜的无线充电,NFC正在以惊人的速度重塑我们的交互方式。根...

关键字: ST NFC读写器 ST25R300 LPCD NFC

新产品ST25R500/501用于汽车数字钥匙和车载无线充电器,体积小巧,低功读卡距离增加70%

关键字: 数字钥匙 NFC 读卡器

继停止维护AOSP开源项目后,谷歌母公司Alphabet近日被曝在其安卓系统(Android)、Pixel手机以及Chrome浏览器等部门裁员数百人。这一举措引发了业界的广泛关注,也引发了对谷歌未来业务布局的诸多猜测。

关键字: 谷歌 AOSP Android 裁员

德国斯图加特2025年4月8日 /美通社/ -- 在网络安全、功能安全和人工智能成为创新关键的时代,DEKRA德凯推出全新Digital Trust Service一体化数字...

关键字: DIGITAL SERVICE TRUST 人工智能

在本教程中,我们将使用Capacitor 6、Angular和TypeScript构建一个Android应用程序,该应用程序通过串行端口连接到BleuIO USB加密狗。该应用程序允许用户直接从Android设备发送和接...

关键字: Android USB 电容器 BLE设备
关闭