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.
- 大小: 25.8 KB
分享到:
相关推荐
资源摘要信息中提供了一个完整的操作代码示例,演示了如何在 Android 中使用 NFC 技术来实现数据交换。 知识点: 1. NFC 技术的定义和原理 2. NFC 技术在 Android 中的应用 3. NFC 设备的启用和检测 4. 使用 ...
本文将深入探讨如何实现Android应用中的NFC数据读取和写入功能,这对于开发移动应用或者对物联网感兴趣的爱好者来说是极具价值的知识。 首先,我们需要了解Android系统中的NFC框架。在Android中,NFC功能主要由`...
通过这个源代码,你可以学习到如何在Android应用中集成NFC功能,实现读取、写入NFC标签,模拟NFC卡,以及点对点通信等功能。同时,理解并实践这些代码可以帮助你提升在实际项目中运用NFC技术的能力。
本文将深入探讨如何在Android中实现NFC编程,以完成对IC卡的写入和数据读取操作。 首先,我们要了解NFC的基础知识。NFC工作在13.56MHz频率下,最大通信距离约为10厘米。在Android系统中,NFC功能主要由`NFCAdapter`...
本文将详细讲解如何在Android应用中使用NFC功能来读取NFC标签的数据。 首先,理解NFC的基本原理。NFC工作在13.56MHz频率,有效距离通常在4厘米内。它支持三种模式:读/写模式、点对点模式和卡模拟模式。在读/写模式...
在移动设备的世界中,NFC(Near Field Communication,近场通信)技术已经成为实现设备间快速、便捷交互的重要方式之一。本资料包"android_nfc_demo.zip"提供了Android Beam Demo,是Android平台上实现NFC P2P功能的...
这个“Android通过NFC读取IC卡示例”旨在教会开发者如何利用Android SDK中的NFC API来实现对IC卡的读取和写入操作。以下是对这一主题的详细阐述: 1. NFC基础: NFC技术基于RFID(Radio Frequency Identification...
Android中读取NFC标签卡中的ID示例代码.rarAndroid中读取NFC标签卡中的ID示例代码.rar Android中读取NFC标签卡中的ID示例代码.rarAndroid中读取NFC标签卡中的ID示例代码.rar Android中读取NFC标签卡中的ID示例代码....
通过深入研究"AndroidBeamDemo"这个项目,开发者可以掌握如何在自己的应用中集成NFC点对点传输功能,提升应用的互动性和实用性。此外,理解这些知识点对于开发基于NFC的创新应用,如社交应用中的好友添加、文件共享...
1. **开启NFC:**在Android中,首先需要在Manifest.xml中添加 `<uses-feature>` 标签声明对NFC的支持,并在运行时调用 `NfcAdapter.getDefaultAdapter(Context)` 获取NFC适配器。 2. **监听NFC事件:**使用 `...
主要包括Android NFC 系统层次架构,Code分布结构,code代码架构概括等等。
在 Android 中,NFC Tag ID 读取是通过 Intent 对象来实现的,而 Intent 对象中包含了被扫描到的 NFC 标签的信息,包括标签的 ID 号码、NDEF 消息等。我们可以通过 Intent 对象来获取 TAG ID,并进行相应的处理。 ...
为了更好地理解NFC编程在Android中的应用,下面提供了一个简单的示例代码片段,展示了如何在Android应用程序中读取NFC标签。 ```java public class TagDispatch extends Activity { private TextView mTextView; ...
本工程根据google官方 提供的Android API实现了NFC编程,能实现对IC卡的写入、数据读取等操作,导入即可运行无需调试,代码简洁易于上手,欢迎NFC开发者下载学习,欢迎一同探讨NFC开发技术!
运行环境android studio 完整源代码,可以读取nfc卡序列号,写入卡信息源代码例子,进对例子进行扩展,下载回来后,电脑接上手机,运行在手机上,准备NFC卡(MifareUltralight格式)即可测试 具体操作方式见我博文,...
NFC(Near Field Communication,近场通信)是现代智能手机中常用的一种无线通信技术,它允许设备在近距离内交换数据...解压"NFC_TEST"文件,运行并调试代码,可以帮助我们更深入地理解NFC在Android平台上的实现细节。
本篇文章将详细探讨如何在Android中实现这一功能,同时关注NFC、Android API的使用,以及在必要时如何利用JNI进行原生代码的集成。 首先,我们要了解NFC的基本原理。NFC是一种短距离无线通信技术,允许电子设备之间...
在Android中,NFC功能主要通过以下几部分来实现: 1. **NFC Manager**:`NfcManager` 是系统服务,负责管理NFC硬件和提供对NFC功能的访问。通过`Context.getSystemService(Context.NFC_SERVICE)` 获取此服务。 2. ...
通过分析和理解这个压缩包中的代码,开发者可以学习如何在Android平台上适配和优化NXP的NFC解决方案,实现高效的NFC功能。这包括了对NFC事件的处理、数据交换的加密安全、以及与不同类型的NFC标签和设备的兼容性问题...
3. **IntentFilter** 和 **TechList**:在Android中,NFC标签检测通常通过声明`<intent-filter>`在`AndroidManifest.xml`中实现。通过指定`ACTION_NDEF_DISCOVERED`或`ACTION_TAG_DISCOVERED`,我们可以告诉系统我们...