繁体   English   中英

我的应用程序如何找出启用了哪种NFC模式?

[英]How can my app find out which NFC mode is enabled?

我发现Android设备支持三种NFC模式: 读写器P2P卡仿真

我的应用程序可以检查当前启用了哪种模式吗?

不,您的应用无法真正检查当前启用了哪种模式。 关键是,默认情况下,Android设备会定期检查所有三种模式(实际上比这要复杂一些:这三种模式本身分为几个部分,每个部分针对某种技术进行轮询)。 因此,当屏幕打开时,您可以期望Android设备在侦听其他阅读器与轮询不同类型的标签技术和对等模式设备之间循环切换。 无论您是否注册通过对等模式发送消息,是否为HCE注册了某个应用程序或为NFC发现意图注册了该应用程序,都是这种情况。 即使您在设置中禁用了Android Beam,设备仍将继续轮询对等模式。

仅当您使用读取器模式API (在Android 4.4+上可用)显式禁用卡仿真和P2P时,您的应用才能控制只有读取器/写入器模式处于活动状态(甚至可以控制应轮询的标签技术)。

因此,您的应用程序可以知道自己启用了哪些模式,并且可以进行一些猜测,例如

  • 如果屏幕打开并且未使用阅读器模式API显式强制使用阅读器/写入器模式,则所有三种模式都可能处于活动状态。
  • 如果屏幕关闭,则仅卡仿真模式可能处于活动状态(尽管这取决于设备,并且通常不提供HCE)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM