我想使用Samsung Nexus S的NFC功能从NfcB型卡读取数据。 我能够识别出这张卡片。但是当我尝试使用get:
获取NfcB的对象时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。
提前致谢
答案 0 :(得分:1)
java.lang.NoClassDefFoundError:
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没有添加到类路径中。
还尝试在Android清单文件中设置权限。 请参阅here。