无法为MifareUltralight呼叫连接

时间:2014-01-06 20:20:23

标签: java android nfc mifare

我正在尝试从NFC标签(Type MiFare Ultralight)读取。目的是读取整个标记并将其写入文件。

尽管这似乎不是最明显的情况,但我会帮助你:

在调用connect - 代码实例的MifareUltralight方法时,我总是得到IOException

代码的重要部分:

....
MifareUltralight mf = MifareUltralight.get(tagFromIntent);
byte[] mfContents = new byte[64];
Log.v("Door-LOG", "TRY reading");
try {
    mf.connect();Log.v("Door-LOG", "connect");
    byte[] p1 = mf.readPages(0);Log.v("Door-LOG", "p1");
    byte[] p2 = mf.readPages(4);Log.v("Door-LOG", "p2");
    byte[] p3 = mf.readPages(8);Log.v("Door-LOG", "p3");
    byte[] p4 = mf.readPages(12);Log.v("Door-LOG", "p4");

    int offset = 0;
    System.arraycopy(p1, 0, mfContents, offset, p1.length); offset += p1.length;
    System.arraycopy(p2, 0, mfContents, offset, p2.length); offset += p2.length;
    System.arraycopy(p3, 0, mfContents, offset, p3.length); offset += p3.length;
    System.arraycopy(p4, 0, mfContents, offset, p4.length);
} catch (IOException e) {
    Log.e("Door-LOG", "IOException while reading MifareUltralight message...",e);
    return;
} finally {
    if (mf != null) {
        try {
            mf.close();
        }
        catch (IOException e) {
            Log.v("Door-LOG", "Failed Closing");
        }
    }
}

Exception Trace是:

java.io.IOException
        at android.nfc.tech.BasicTagTechnology.connect(BasicTagTechnology.java)
        at android.nfc.tech.MifareUltralight.connect(MifareUltralight.java)
        at eu.expandable.NFCTest.Main.readMifareUltralight(Main.java:199)
        at eu.expandable.NFCTest.Main.handleIntent(Main.java:188)
        at eu.expandable.NFCTest.Main.onCreate(Main.java:62)
        at android.app.Activity.performCreate(Activity.java)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
        at android.app.ActivityThread.access$600(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
        at android.os.Handler.dispatchMessage(Handler.java)
        at android.os.Looper.loop(Looper.java)
        at android.app.ActivityThread.main(ActivityThread.java)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
        at dalvik.system.NativeStart.main(Native Method)

我真的指望你们帮助我相处。非常感谢提前

0 个答案:

没有答案
相关问题