You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android API29+下NfcAdapter.CreateNdefMessageCallback替代及NFC P2P传输方案

Android NFC P2P 兼容方案(API Level 29+)

关键事实

Android Beam 从 API Level 29 开始就被彻底移除了,NfcAdapter.CreateNdefMessageCallback 接口失效是必然结果,没有任何办法再通过 Beam 实现设备间 P2P 传输。

替代方案推荐(针对小型 JSON 传输)

1. NFC 标签模拟(仅限静态场景)

如果业务允许物理接触的交互方式,可以把 JSON 写入 NDEF 格式的 NFC 标签,让另一台设备读取标签内容。但这不是真正的 P2P 设备直连,适合静态数据同步,不支持动态即时传输。

  • 核心代码逻辑:用 NdefRecord.createMime() 构造 JSON 对应的记录,打包成 NdefMessage 后通过 NfcAdapter 写入标签(需设备支持 NFC 读写功能)。

2. 蓝牙低功耗(BLE)P2P

适合极小体积的 JSON 传输(注意 BLE 广播包长度限制,一般单包最多 255 字节,过长需压缩或分包),无需配对(部分场景),功耗极低,适配绝大多数 Android 设备:

  • 广播端:启动 BLE 广告,将 JSON 转成字节数组放入广告数据,指定自定义 UUID 用于识别
  • 扫描端:扫描携带目标 UUID 的设备,解析广播数据中的 JSON 字符串

3. Wi-Fi P2P(Wi-Fi Direct)

适合几百字节到几KB 级别的 JSON,传输速度比 BLE 快,支持更远传输距离:

  • 流程:初始化 WifiP2pManager 发现附近设备,建立连接后通过 Socket 直接传输 JSON 字符串
  • 注意:部分低端设备可能存在兼容性问题,需要处理连接断开、重连的异常逻辑

4. Google Nearby Connections

官方推出的跨平台近场传输方案,自动适配蓝牙、Wi-Fi P2P、WebRTC 等底层技术,无需自己处理兼容问题,支持更大数据量:

  • 实现:集成 Nearby Connections SDK,分别注册服务端和客户端,通过 Payload.fromBytes() 封装 JSON 字节数据进行传输
  • 优势:不用关心底层细节,自动选择最优传输方式,适配性强

选型参考

  • 极小体积 JSON + 低功耗需求 → BLE
  • 中等体积 JSON + 速度需求 → Wi-Fi P2P 或 Nearby Connections
  • 必须保留物理接触交互 → NFC 标签模拟

内容的提问来源于stack exchange,提问作者Michal Lyga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:20:35