我正在为我的应用添加NFC / Beam功能,我希望它尽可能自动地工作。我想摆脱发送者的“触摸光束”屏幕和接收器的“新标签扫描”屏幕。基本上,我希望它像在三星商业中一样工作!我在stackoverflow中读到似乎可能没有办法摆脱“Touch To Beam”屏幕,但我希望有人有一些更新的信息或知道如何删除接收器屏幕。谢谢!
答案 0 :(得分:4)
在两个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+)才能与模拟智能卡进行通信。 / p>
如果你通过Beam发送NDEF消息,你至少可以让接收方做你想做的事。在这种情况下,您需要在应用程序的AndroidManifest.xml中注册一个正确的NDEF_DISCOVERED意图过滤器(与发送的NDEF消息的第一个NDEF记录的记录类型/数据类型相匹配)。
答案 1 :(得分:0)
您可以通过foregroundDispatch http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html手动处理发送 这将允许您的应用自动发送。
至于接收,您可以使用活动来捕获意图并将其转发到服务上进行处理。