我正在制作一个简单的应用程序,用于检测运行该应用程序的android设备,该设备支持NFC type-f(FeliCa)及其HCE / SE加密功能。
我还想知道,如果主机设备不支持F型NFC或它的HCE / SE加密功能,那么此问题是由于硬件限制(缺少主机NFC芯片支持)还是软件限制引起的(例如当前的ROM不支持它),以及 如果是软件限制(可以解决,甚至需要root用户许可,缺少NFC芯片固件许可证),我想知道确切原因以便解决该问题。
但是我不知道如何检查某些NFC类型的主机功能,也没有提到要检查某些NFC类型支持的Android API。
答案 0 :(得分:0)
要检测是否支持'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 test set for NFC can be found here和一组特定的测试HCE FeliCa。由于它是一个测试套件,因此似乎包含用于测试与卡的通信的其他代码。