我想创建一个解决方案,通过检测模拟的 NFC 标签将开始在 Android 手机上运行读取器应用程序。我找到了明确的答案:在 Android 中这是不可能的。 具有封闭式读卡器应用程序的 NFC 卡模拟 然而,它已经有 8 年历史了。到今天什么都没有改变吗?还是不可能吗?没有任何解决办法吗?使用意图过滤器 TECH_DISCOVERED 我已经可以触发启动我的应用程序(当然,如果没有其他应用程序满足技术过滤器条件,否则用户可以选择使用哪一个)。对我来说,如此简单的技术并不存在似乎很荒谬。任何帮助表示赞赏。
是的,有些事情发生了变化,Android 点对点 (Beam) 已从 Android 10
中删除并弃用因此,如果您在 Android 10 设备上使用 HCE,您可以仅通过 Intent Filters 成功启动应用程序
基于我拥有的设备和使用 HCE 应用程序的有限测试 https://github.com/underwindfall/NFCAndroid 并使用默认和内置的 Ndef 文本记录显示服务(不使用
enableReaderMode
但响应 NFC)如果没有注册其他应用程序,则意图。
在 Android 10 上运行的 HCE 到 Android 9 设备(具有 Android Beam)无需
enableReaderMode
应用程序即可工作。
在没有
enableReaderMode
应用程序的情况下,在 Android 10 上运行 HCE 到 Android 8 设备(具有 Android Beam)会失败。
Android 8 HCE 至 9 或 10 以及 Android 9 HCE 至 8 或 10 未通过测试。
请注意,虽然 Google 从 Android 10 库存/开源产品中删除了 Beam,但他们确实允许制造商将其重新添加并自行支持,这可能是为了允许一些定制硬件制造商仍然提供它。