5

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

4

2 回答 2

4

发送方

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

在 Android Beam(实际上是 Android 2.3.3-2.3.7)之前,这可以通过前台 NDEF 推送(现在 (a) 已弃用并且 (b) 在 Android 4.0+ 上通过 Beam 实现)来实现。在这种情况下,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 意图过滤器(与发送的 NDEF 消息的第一个 NDEF 记录的记录类型/数据类型匹配)。

于 2014-04-16T05:37:54.667 回答
0

您可以通过foregroundDispatch http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html手动处理 发送,这将允许您的应用程序自动发送。

至于接收,您可以使用活动来捕获意图并将其转发到服务进行处理。

于 2012-11-24T16:53:32.877 回答