我在Android(7)上使用HostApduService
来模拟NFC论坛类型4(NDEF
)标记。
阅读NDEF
文本消息可以从android中可靠地工作,但我遇到了以下问题:
NDEF
标记始终会成功扫描。NFC
API看起来非常有限,扫描必须由用户启动,并伴随着“准备扫描”对话。当我将iPhone保持在Android设备上时,有时会关闭对话框并显示“NFC
会话已过期”消息(大约50%的尝试次数)。当我锁定模拟Android手机时,NDEF
服务仍在运行,iPhone可以100%的成功率扫描标签。我想我已经使用ForegroundDispatch
解决了第一个问题(仅当屏幕上显示仿真应用程序时才需要标记仿真)。但是,iPhone有时仍会取消扫描。我想这也可能是因为Android手机试图连接iPhone的HCE / ApplePay /无论是什么。
所以我相信我的问题的原因是在NFC
启用时对所有类型的代码进行Android扫描。
是否有办法停止主动扫描应用中的被动标记,同时仍然运行模拟HostApduService
标记的NFC
?
(我会在收到核心NFC
错误消息后立即更新此问题。)