我正在使用IsoDep Tag Tech处理应用程序,以向启用NFC的卡发出APDU命令.
更新:所以下面看到的问题似乎与我正在使用的卡的电源要求有关,当我使用具有较低功率要求的不同卡时,下面的症状不会经常发生.
我明确地遵循了文档,并成功地实现了协议.然而,由于混合成功,我遇到了一些超出我的代码控制范围的NFC低级库的问题.
我已经实现了以下内容:
问题是我注意到了一些事情:
在Nexus S上,卡的位置取决于成功的通信流程,如果它不在最佳位置,我将收到IOException如果由于卡已移动或未保留在RF字段中而得到太多IOExceptions,我开始看到以下的消息(见下文)我想知道是否有其他人看到过这些问题?在我的onResume方法中,我没有任何逻辑来阻止多次调用方法的NFCAdapter实例:enableForegroundDispatch,我应该这样做.
在此先感谢您的帮助.
06-16 12:08:43.351: ERROR/NFC(661): NFC service dead - attempting to recover
06-16 12:08:43.351: ERROR/NFC(661): android.os.DeadObjectException
06-16 12:08:43.351: ERROR/NFC(661): at android.os.BinderProxy.transact(Native Method)
06-16 12:08:43.351: ERROR/NFC(661): at android.nfc.INfcAdapter$Stub$Proxy.enableForegroundDispatch(INfcAdapter.java:528)
06-16 12:08:43.351: ERROR/NFC(661): at android.nfc.NfcAdapter.enableForegroundDispatch(NfcAdapter.java:494)
06-16 12:08:43.351: ERROR/NFC(661): at myClass.onResume(MyClass.java:406)
06-16 12:08:43.351: ERROR/NFC(661): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
06-16 12:08:43.351: ERROR/NFC(661): at android.app.Activity.performResume(Activity.java:3832)
06-16 12:08:43.351: ERROR/NFC(661): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110)
06-16 12:08:43.351: ERROR/NFC(661): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135)
06-16 12:08:43.351: ERROR/NFC(661): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)
06-16 …Run Code Online (Sandbox Code Playgroud)