Android NFC开发详解:API使用与NDEF数据传输
5星 · 超过95%的资源 需积分: 10 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的使用、标签类型、数据交换格式以及权限管理等方面。通过合理的编程和配置,可以实现丰富的功能,如支付、信息传输、智能卡模拟等。
2015-03-10 上传
2021-01-16 上传
2016-04-26 上传
点击了解资源详情
点击了解资源详情
2023-09-13 上传
105 浏览量
nicolelili1
- 粉丝: 350
- 资源: 34
最新资源
- 编译器2
- 电子功用-多层陶瓷电子元件用介电糊的制备方法
- JLex and CUP Java based Decompiler-开源
- 管理系统系列--自动发卡系统(包含前台以及后台管理系统),对接payjs支付(无须企业认证).zip
- 整齐的块
- goit-markup-hw-03
- (课程设计)00.00-99.99 数字电子秒表(原理图、PCB、仿真电路及程序等)-电路方案
- DiskUsage.0:适用于 Android 的 DiskUsage 应用程序
- HonorLee.me:我的Hexo博客
- DZ3-卡塔琳娜·米尔伊科维奇
- 管理系统系列--智慧农业集成管理系统.zip
- 毕业设计:基于Java web的学生信息管理系统
- (资料汇总)PCF8591模块 AD/DA转换模块(原理图、测试程序、使用说明等)-电路方案
- CampaignFinancePHL:使费城的竞选财务数据更易于理解
- Week09-Day02
- JiraNodeClient:用于从Jira导出导入数据的NodeJS工具