Я хочу отформатировать Mifare Ultralight C для обработки сообщений NDEF. Я написал код ниже, и он отлично работает с чипами Mifare Classic 1K, но он получает IOExeption, когда я пытаюсь подключиться к чипу Ultralight C.Форматирование Mifare Ultralight C в NDEF
NdefFormatable format = NdefFormatable.get(tag)
if(format != null){
try {
format.connect();
format.format(new NdefMessage(new NdefRecord(NdefRecord.TNF_EMPTY, null, null, null)));
format.close();
Toast.makeText(getApplicationContext(), "Tag formated.", Toast.LENGTH_LONG).show();
}catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(getApplicationContext(), "Failed to connect", Toast.LENGTH_SHORT).show();
e.printStackTrace();
} catch (FormatException e) {
// TODO Auto-generated catch block
Toast.makeText(getApplicationContext(), "Failed Format", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
else
Toast.makeText(getApplicationContext(), "Tag unformatable or already formatted to Ndef.", Toast.LENGTH_LONG).show();
}
Кто-нибудь знает, что может быть ошибка и почему код работает для 1k чипов, а не на Ultralight C? Тег совершенно новый и совершенно пустой.
Это выход в LogCat:
04-21 08:49:27.300: W/System.err(9351): java.io.IOException
04-21 08:49:27.300: W/System.err(9351): at android.nfc.tech.NdefFormatable.format(NdefFormatable.java:132)
04-21 08:49:27.300: W/System.err(9351): at android.nfc.tech.NdefFormatable.format(NdefFormatable.java:95)
04-21 08:49:27.300: W/System.err(9351): at com.example.exjobb.nfc.FormatTag.formatTag(FormatTag.java:69)
04-21 08:49:27.300: W/System.err(9351): at com.example.exjobb.nfc.FormatTag.onNewIntent(FormatTag.java:58
04-21 08:49:27.300: W/System.err(9351): at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1178)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:2418)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread.performNewIntents(ActivityThread.java:2431)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread.handleNewIntent(ActivityThread.java:2440)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread.access$1500(ActivityThread.java:159)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1387)
04-21 08:49:27.300: W/System.err(9351): at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 08:49:27.300: W/System.err(9351): at android.os.Looper.loop(Looper.java:176)
04-21 08:49:27.300: W/System.err(9351): at android.app.ActivityThread.main(ActivityThread.java:5419)
04-21 08:49:27.300: W/System.err(9351): at java.lang.reflect.Method.invokeNative(Native Method)
04-21 08:49:27.300: W/System.err(9351): at java.lang.reflect.Method.invoke(Method.java:525)
04-21 08:49:27.305: W/System.err(9351): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
04-21 08:49:27.305: W/System.err(9351): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
04-21 08:49:27.305: W/System.err(9351): at dalvik.system.NativeStart.main(Native Method)
Просьба поделиться stacktrace в logcat – LaurentY
Это пустая (т. Е. Ранее не использовавшаяся) Сверхлегкая бирка C? –
@LaurentY Добавлена функция stacktrace в logcat. –