Я использую технологию NFC для одного из своих проектов на Android. Я успешно реализовал обнаружение тегов и на основе тега знаю, какой класс мне нужно использовать для извлечения данных. Но есть одна проблема: карта, которую мне нужно использовать/нажать для получения данных, использует технологию IsoDep, а не NDEF. Я знаю, как извлечь данные с карты, работающей по технологии NDEF, но я застрял здесь из-за технологии IsoDep. Я делюсь своим фрагментом кода с этим вопросом для лучшего понимания.
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()
}
Итак, здесь я получаю TAG_DISCOVERED через NFCAdapter, а внутри условия я получаю IsoDep, tech.NFcA, NdefFormattable в качестве значения переменной тега. Я создаю экземпляр класса IsoDep и вызываю метод connect(). Здесь я получаю IOException каждый раз, когда пытаюсь запустить соединение для чтения данных, я не знаю, почему !!! Может ли кто-нибудь помочь мне решить эту проблему? Любая помощь будет ценной.
Спасибо