【发布时间】:2017-10-25 15:41:15
【问题描述】:
我将 NFC 技术用于我在 Android 中的一个项目。我已经成功实现了标签检测,并且基于标签我知道我需要使用哪个类来提取数据。但是有一个问题,我需要使用/点击来获取数据的卡是使用 IsoDep 技术而不是 NDEF 技术。我知道如何从使用 NDEF 技术的卡中提取数据,但由于 IsoDep 技术,我被困在这里。为了更好地理解,我正在与这个问题分享我的代码 sn-p。
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) || NfcAdapter.ACTION_TECH_DISCOVERED.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep isoDep = IsoDep.get(tag);
isoDep.connect();
//code to get the data from card
isoDep.close()
}
所以在这里我通过 NFCAdapter 获得 TAG_DISCOVERED,并且在条件内我获得 IsoDep、tech.NFcA、NdefFormattable 作为标签变量值。我正在创建 IsoDep 类的实例并调用 connect() 方法。在这里,每次我尝试启动连接以读取数据时,我都会收到 IOException,我不知道为什么! 谁能帮我解决这个问题?任何帮助都是不言而喻的。
谢谢
【问题讨论】:
标签: android android-intent nfc ndef