我正在制作一个简单的应用程序,它检测运行应用程序的 android 设备支持 NFC type-f(FeliCa) 及其 HCE/SE 加密功能。另外,我想知道,如果主机设备不支持 NFC type-f 或其 HCE/SE 加密能力,这个问题是由于硬件限制(缺乏主机 NFC 芯片支持)还是软件限制(例如当前ROM不支持),如果是软件限制(可以修复,甚至需要root权限,缺少NFC芯片固件许可证)我想知道确切的原因以便我可以解决这个问题。但我不知道如何检查某些 NFC 类型的主机功能,也没有提到 Android API 来检查某种 NFC 类型的支持。
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
为了检测是否支持“NFC-F”,请使用:
PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF
如:
if (getPackageManager().hasSystemFeature(
PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF)) {
// has feature
}
这是通过检查Android Open Source Project - Host Card Emulation of FeliCa发现的。
AOSP 文档指出HCE FeliCa 需要支持 NFC-F (JIS 6319-4) 标准的 NFC 硬件。
进一步沿着 AOSP 文档引用 Android 兼容性测试套件,可以在此处找到特定的 Android 9.0 NFC 测试集,并具有一组特定的HCE FeliCa测试。由于它是一个测试套件,用于测试与卡的通信的附加代码似乎在其中。
添加回答
举报
0/150
提交
取消