我目前正在尝试在Nexus 7上实施基本的NFC应用程序。
我已经能够使用Beam SDK传输NDEF记录(Web Url),但我仍然坚持使用“Tap to beam”UI,就像这里的许多其他人一样。
我知道无法禁用此屏幕或自动按此屏幕,但是,还有其他可能的解决方法吗?
例如,一位同事刚刚建议将Nexus 7放入tag writer mode
,然后将另一个应用放入tag read mode
。
或者我说的是,Android中的NFC只能用于读取/写入NFC标签以及使用光束共享项目吗?
答案 0 :(得分:1)
NFC芯片在读写器模式和点对点模式之间持续切换(如果安装了Google Wallet,则可以在卡模拟中切换)。在Reader / Writer模式下,它可以与NFC标签通信。读写器模式下的两个设备无法相互通信;这就是为此发明的点对点模式。点对点模式是用于Android Beam的。
也无法在一台设备上使用卡仿真模式。首先,Android设备不会检测另一台Android设备上的卡仿真(它更喜欢做点对点)。其次,您的应用程序需要特殊权限才能从操作系统访问安全元素(进行卡片仿真)。第三,即使您设法解决这些障碍,仍然无法将数据写入安全元素,因为您没有必要的访问控制键来执行此操作。
所以回答你的原始问题:没有办法通过切换到其他NFC模式来规避Android Beam UI。遗憾。
<强>更新强>
从Android 4.4 Kitkat开始,应用程序可以使用所谓的Host Card Emulation (HCE)来模拟卡片。对于另一个Android NFC设备上的应用与此类模拟标记进行通信,它需要使用新的NFC Reader Mode(完全禁用Android Beam以防止它被阻挡)。