Android NFC开发详解:API使用与NDEF数据传输

5星 · 超过95%的资源 需积分: 10 67 下载量 48 浏览量 更新于2024-09-12 1 收藏 161KB DOCX 举报
"开发文档nfc主要涵盖了NFC技术在Android平台上的应用,包括NFC的开发流程、关键类和权限管理。重点讲述了Android.nfc和android.nfc.tech这两个Java包的功能,以及API在不同版本中的差异。" 在Android平台上开发NFC应用,首先需要了解的是Android.nfc和android.nfc.tech这两个核心包。`Android.nfc`包包含了与本地NFC适配器交互的顶级类,如`NFCAdapter`,这个类用于管理和控制设备的NFC功能,可以检测到的tags和解析NDEF数据格式。`android.nfc.tech`包则包含了针对不同NFC技术标准的类,比如`Ndef`、`MifareClassic`等,这些类用于查询tag的属性和执行I/O操作。 关于API版本的区别,NFC功能在API level 9之前是不支持的。在API level 9,Android开始支持NFC,但仅限于基本的tag检测,通过ACTION_TAG_DISCOVERED广播来发布Tag信息,并且只能通过EXTRA_NDEF_MESSAGES获取NDEF消息,其他高级特性并未实现。到了API level 10,Android对tag的读写支持变得更加广泛,开发者可以进行更多操作。 NFC(Near Field Communication)是一种近距离无线通信技术,通常在4厘米内建立连接。它可以用于Android设备与NFC标签之间的数据交换,或者两台Android设备之间的数据传输。NFC标签种类繁多,从只读的简单标签到包含运算环境的复杂标签,它们可以存储不同格式的数据,而Android框架API主要支持基于NDEF的数据交换。 NFC的基础应用主要包括两个方面:一是读取NFC标签中的NDEF数据,这是通过标签调度系统自动处理的,当设备检测到NFC标签时,系统会分析数据并启动相关应用程序;二是将NDEF消息从一个设备发送到另一个设备,这通常涉及创建和发送NDEF消息的过程,需要使用`NdefMessage`和`NdefRecord`类。 对于处理NFC事件,应用程序需要声明意图过滤器,例如`<intent-filter>`标签内的`ACTION_NDEF_DISCOVERED`,以表明应用程序对特定类型NDEF数据的兴趣。同时,为了使用NFC功能,还需要在AndroidManifest.xml文件中添加相应的权限,例如`<uses-permission android:name="android.permission.NFC" />`。 在实际开发中,除了基本的NDEF数据交换,还可以涉及更高级的话题,如直接操作非NDEF格式的数据,以及使用低级别技术协议进行更复杂的交互。这些话题通常在"高级NFC"部分进行讨论,开发者可以根据需求深入学习。 开发NFC应用需要对Android的NFC框架有深入理解,包括API的使用、标签类型、数据交换格式以及权限管理等方面。通过合理的编程和配置,可以实现丰富的功能,如支付、信息传输、智能卡模拟等。