我正在为我的应用程序添加 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/