Android系统NFC开发进阶指南118
近场通信(NFC)是一种短距离无线通信技术,可以实现设备之间的非接触式数据交换。Android系统内置了NFC功能,开发者可以利用Android API在应用程序中集成NFC功能,实现各种交互和自动化场景。## NFC 开发基础
初始化
NFC开发的第一步是初始化NFC模块:
```java
NfcManager nfcManager = (NfcManager) getSystemService(Context.NFC_SERVICE);
NfcAdapter nfcAdapter = ();
```
监听 NFC 事件
当设备靠近NFC标签或另一台支持NFC的设备时,可以使用PendingIntent监听事件:
```java
Intent intent = new Intent(this, );
PendingIntent pendingIntent = (this, 0, intent, 0);
(this, pendingIntent, null, null);
```
处理 NFC 意图
在MainActivity中,可以处理NFC事件并获取标签数据:
```java
@Override
protected void onNewIntent(Intent intent) {
if ((())) {
Parcelable[] rawMsgs = (NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage[] msgs = null;
if (rawMsgs != null) {
msgs = new NdefMessage[];
for (int i = 0; i < ; i++) {
msgs[i] = (NdefMessage) rawMsgs[i];
}
}
// 处理 NFC 标签数据
}
}
```
## 读写 NFC 标签
读取 NFC 标签
可以使用NDEF API读取NFC标签的数据:
```java
NdefMessage message = new NdefMessage(new NdefRecord[] { new NdefRecord(NdefRecord.TNF_MIME_MEDIA, "text/plain".getBytes(), null, "Hello, NFC!".getBytes()) });
(message, this);
```
写入 NFC 标签
可以使用NDEF API向NFC标签写入数据:
```java
NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, null, "".getBytes());
NdefMessage message = new NdefMessage(new NdefRecord[] { record });
(message, this);
```
## 高级 NFC 应用
P2P 通信
Android系统支持NFC P2P通信,可以实现两台设备之间的直接数据交换:
```java
(new NdefPushMessageCallback() {
@Override
public void onNdefPushCompleted(NdefMessage message, NdefPushTarget device) {
// 处理 P2P 数据发送成功
}
}, this);
```
卡模拟
Android系统可以模拟NFC卡,实现非接触式支付或其他身份验证场景:
```java
Intent serviceIntent = new Intent(this, );
(HceService.ACTION_START_FOREGROUND_SERVICE);
startService(serviceIntent);
```
## 常见问题
NFC 无法正常工作
* 检查设备是否支持NFC功能
* 确保NFC模块已启用
* 尝试重新启动设备
无法读取/写入 NFC 标签
* 确保NFC标签支持所需的数据格式
* 检查NFC标签是否已写保护
* 尝试使用其他NFC读取/写入应用程序
P2P 通信失败
* 确保两台设备都支持NFC P2P通信
* 检查设备是否处于P2P模式
* 尝试将设备靠近一点
2024-12-12
新文章

Android 系统架构深度剖析:从Linux内核到应用框架的高清视角

微软Windows操作系统:从Shell到SaaS的演进史诗

华为鸿蒙分布式协同:揭秘多设备互联互通与同屏流转的底层技术

深度解析:iPad运行Windows系统的技术路径与挑战——从虚拟化到云桌面

鸿蒙系统流畅度深度解析:从底层架构到用户感知的专业测评

iOS系统深度解析:从核心原理到应用交互的专业视角

Android应用系统权限:从沙箱机制到运行时控制的深度解析与最佳实践

iOS生态系统与流行病学数据管理:深度剖析其在移动数据采集及后端集成中的作用

精通iOS系统:从核心原理到应用开发,专业选课策略全解析

Windows操作系统标志的演进:从像素到流体设计的品牌与用户体验之旅
热门文章

iOS 系统的局限性

Linux USB 设备文件系统

Mac OS 9:革命性操作系统的深度剖析

华为鸿蒙操作系统:业界领先的分布式操作系统

**三星 One UI 与华为 HarmonyOS 操作系统:详尽对比**

macOS 直接安装新系统,保留原有数据

Windows系统精简指南:优化性能和提高效率
![macOS 系统语言更改指南 [专家详解]](https://cdn.shapao.cn/1/1/f6cabc75abf1ff05.png)
macOS 系统语言更改指南 [专家详解]

iOS 操作系统:移动领域的先驱
