android - 让 NFC/Beam 更加自动化

标签 android nfc hce nfc-p2p android-beam

我正在为我的应用程序添加 NFC/Beam 功能,我希望它尽可能自动运行。我想去掉发送方的“Touch To Beam”屏幕和接收方的“New tag scanned”屏幕。基本上,我希望它能像在三星广告中那样工作!!!我在 stackoverflow 中读到,似乎没有办法摆脱“Touch To Beam”屏幕,但我希望有人有一些更新的信息或知道如何删除接收器屏幕。谢谢!

最佳答案

发送方

在两个 Android (4.0+) 设备之间使用 NFC 点对点通信(又名 Android Beam)时,无法避免 Beam UI。因此,没有“Touch to Beam”就无法传输数据。

在 Android Beam(实际上是 Android 2.3.3-2.3.7)之前,这可以通过前台 NDEF 推送来实现(现在 (a) 已弃用并且 (b) 在通过 Beam 实现的 Android 4.0+ 上)。在这种情况下,NDEF 消息会在没有“Touch to Beam”窗口的情况下立即传输。

从 Android 4.4 开始,可以在不使用 Beam UI 的情况下通过 NFC 在两个 Android 设备之间进行通信(实际上根本不使用 Android Beam 和点对点模式):如果两个设备都是 4.4+,一个设备可以使用 Android HCE 模拟非接触式智能卡,一台设备可以使用阅读器模式 API(这仅适用于 4.4 中引入的阅读器模式 API,因此两台设备都需要 4.4+)与模拟智能卡通信。

接收方

如果你通过 Beam 发送一个 NDEF 消息,你至少可以让接收方做你想做的事情。在这种情况下,您需要在您应用的 AndroidManifest.xml 中注册一个合适的 NDEF_DISCOVERED Intent 过滤器(与发送的 NDEF 消息的第一个 NDEF 记录的记录类型/数据类型相匹配)。

关于android - 让 NFC/Beam 更加自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542697/

相关文章:

java - 配置为目标的 PN532 已由其发起者发布

android - 如何使用 "repo"克隆最小的 android 源?

android - 不能从静态上下文中引用非静态方法

android - NDEF 兼容 NFC 芯片

android - nfc阅读器(acr122)如何检测到我的手机?

android - 在 android 上使用选定的 UID 模拟 nfc 卡

javascript - 仅使用 HTML 或 Javascript 从 Android WebView 在默认浏览器中打开链接

java - 如何在 android studio 中编辑依赖项/外部库?

uwp - 在 Win10 通用 Windows 应用程序中使用 NFC 读取 HF RFID 标签

android - 适用于 ACR122U 和 ACR1222L 的最佳 NFC SDK