Не удалось вызвать соединение для MifareUltralight
Я пытаюсь читать с NFC-тега (типа MiFare Ultralight). Цель состоит в том, чтобы прочитать весь тег и записать его в файл.
Хотя это может показаться не самым очевидным сценарием, я хотел бы получить вашу помощь:
При звонке connect
метод моего MifareUltralight
-Tag экземпляр я всегда получаю 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");
}
}
}
И Исключительная трассировка:
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)
Я действительно рассчитываю на вас, ребята, чтобы помочь мне ладить. Спасибо заранее