【问题标题】:Can I access a device using Android HCE from a device running Android 4.3 (or below)?我可以从运行 Android 4.3(或更低版本)的设备访问使用 Android HCE 的设备吗?
【发布时间】:2015-04-23 07:56:13
【问题描述】:

我开发了一个使用 Android HCE 模拟非接触式智能卡的应用,以及一个访问(读取)该模拟卡的应用。两者都在 Android 4.4 (KitKat) 及更高版本上运行。

不,我想为运行 Android 4.3(或更低版本)的设备开发阅读器端。是否可以从 API 级别

【问题讨论】:

  • 在我们给您答案之前,您应该先了解您的问题。你真正需要的是什么?

标签: android nfc android-4.3-jelly-bean hce contactless-smartcard


【解决方案1】:

不,这是不可能的。默认情况下,两台 Android 设备(放在一起时)将以对等模式进行通信。即使一个或两个设备支持主机卡仿真也是如此。一旦 Android 设备成功建立了点对点模式链接,它将不会尝试在同一目标上使用读取器/写入器模式

为了允许 Android HCE 模拟卡对第二台 Android 设备可见(可从中访问),该第二台设备必须禁用其对等模式功能并仅在读/写模式。

这正是您使用 Android 阅读器模式 API 所做的事情(您似乎在 Android 4.4 的阅读器应用程序中使用了该 API)。将 NfcAdapter.enableReaderMode() 与标志 FLAG_READER_NFC_AFLAG_READER_NFC_B 一起使用会强制 Android 在读取器/写入器模式下运行并禁用点对点模式。

由于此 API(或等效的东西)在 Android 4.3 及更低版本(即 API 级别 19 之前)上不可用,因此您无法以编程方式1禁用点对点模式。因此,您在 Android 4.3 上的阅读器应用无法与 Android HCE 模拟卡通信。



1) 请注意,在“设置”中禁用 Android Beam也不会禁用点对点模式。这只会禁用通常在对等模式之上运行的 Beam 功能。

【讨论】:

    猜你喜欢
    • 2017-08-27
    • 2014-11-25
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    相关资源
    最近更新 更多