使用另一个Android设备作为NFC标签?
我正在开发一个应用程序,它将部署在支持NFC的设备上。我正在尝试使用NFC启用身份验证,以便用户可以扫描另一个NFC设备(如电话)进行身份验证 我浏览了安卓上的NFC文档 我无法让我的用例工作。 以下是我试图做的:使用另一个Android设备作为NFC标签?,android,authentication,nfc,foreground,hce,Android,Authentication,Nfc,Foreground,Hce,我正在开发一个应用程序,它将部署在支持NFC的设备上。我正在尝试使用NFC启用身份验证,以便用户可以扫描另一个NFC设备(如电话)进行身份验证 我浏览了安卓上的NFC文档 我无法让我的用例工作。 以下是我试图做的: 在设备A中部署应用程序 设备A上的应用程序仅在应用程序位于前台且处于登录活动时才会尝试扫描NFC 用户可以在设备A附近引入设备B/NFC标签,登录活动将对用户进行身份验证 我希望在Android中使用NFC是可能的。我的搜索让我找到了一个例子,当检测到NFC时启动应用程序,但这不是我
我希望在Android中使用NFC是可能的。我的搜索让我找到了一个例子,当检测到NFC时启动应用程序,但这不是我想要的。如果你想在两台Android设备之间进行通信,一台作为模拟标签,另一台作为读写器(而不是使用基于NFC对等模式的Android Beam在两台设备之间传输NDEF消息),您可以(一台设备)结合读写器模式(在另一台设备上) 然而,构建这样的解决方案有一些局限性。关于仿真方面,您有以下限制和要求:
- Android HCE要求模拟设备运行Android 4.4或更高版本
- 仿真设备需要支持基于主机的卡仿真。并非所有具有NFC的Android 4.4+设备都支持HCE。例如,所有(大多数?)包含NXP PN544 NFC控制器的设备目前都不支持HCE
- 您只能在ISO/IEC 14443-4的基础上模拟ISO/IEC 7816-4应用程序结构。如果您想用NDEF数据模拟NFC标记,这将相当于NFC论坛类型4标记。当然,您并不局限于模拟NDEF样式的NFC标记
- Android的HCE功能与其对等模式功能并行运行(无论设备是否支持Android Beam)。因此,其他Android设备会将Android HCE设备检测为对等设备,并在默认情况下以对等模式与它们通信。因此,其他Android设备通常无法访问Android HCE模拟智能卡应用程序
- 仅从Android 4.4开始,您可以使用禁用点对点模式发现。因此,为了访问模拟的NFC标签,您需要在阅读器端安装Android 4.4+
- 这还可以防止在发现第一台设备时自动启动第二台设备上的应用程序,因此您只能将Android HCE模拟智能卡应用程序与阅读设备上已在前台运行的活动结合使用
- Android HCE要求模拟设备运行Android 4.4或更高版本
- 仿真设备需要支持基于主机的卡仿真。并非所有具有NFC的Android 4.4+设备都支持HCE。例如,所有(大多数?)包含NXP PN544 NFC控制器的设备目前都不支持HCE
- 您只能在ISO/IEC 14443-4的基础上模拟ISO/IEC 7816-4应用程序结构。如果您想用NDEF数据模拟NFC标记,这将相当于NFC论坛类型4标记。当然,您并不局限于模拟NDEF样式的NFC标记
- Android的HCE功能与其对等模式功能并行运行(无论设备是否支持Android Beam)。因此,其他Android设备会将Android HCE设备检测为对等设备,并在默认情况下以对等模式与它们通信。因此,其他Android设备通常无法访问Android HCE模拟智能卡应用程序
- 仅从Android 4.4开始,您可以使用禁用点对点模式发现。因此,为了访问模拟的NFC标签,您需要在阅读器端安装Android 4.4+
- 这还可以防止在发现第一台设备时自动启动第二台设备上的应用程序,因此您只能将Android HCE模拟智能卡应用程序与阅读设备上已在前台运行的活动结合使用