Чтение данных из NFC Тип B (ISO 14443-3B) в Android NFC;получение NoClassDefFoundError - PullRequest
0 голосов
/ 07 июля 2011

Я хочу прочитать данные с карты типа NfcB, используя функцию NFC в Samsung Nexus S. Я могу распознать карту. Но когда я пытаюсь получить объект NfcB, используя get:

Tag tg=(Tag)nfcTag;
NfcB myTag = NfcB.get(tg);

Я получаю эту ошибку:

ОШИБКА / AndroidRuntime (808): java.lang.NoClassDefFoundError: android.nfc.tech.NfcB

Также я получаю сообщение об ошибке, если использую этот метод:

Parcelable nfcTag = intent.getParcelableExtra("android.nfc.extra.TAG");
Tag tag= (Tag)nfcTag;
tag.getTechList()

ОШИБКА / AndroidRuntime (2498): java.lang.NoSuchMethodError: android.nfc.Tag.getTechList

Проект собирается правильно, но во время выполнения я получаю эти ошибки. Если я смогу устранить ошибку, я смогу прочитать данные. Я знаком с командами APDU, но не могу создать объект NfcB или объект IsoDep. Все остальное работает нормально из этого API.

Может кто-нибудь сказать мне, если что-то не так с кодом, или мне нужно использовать некоторые другие методы или API.

Заранее спасибо

1 Ответ

1 голос
/ 07 июля 2011

java.lang.NoClassDefFoundError от javadocs:

Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.

Похоже, он не может найти ваш класс.Проверьте, принадлежит ли класс к jar, и jar не был добавлен в classpath.

Также попробуйте установить разрешения в файле манифеста Android.Смотри здесь .

...