2013-05-09 3 views
1

Я пытаюсь читать блоки с классической картой mifare 1k и android nfc (на галактической нексусе).mifare classic 1k - Android - Tranceive failed на блоке чтения

private final int mMaxSize = 64; 

mClassic.connect(); 

boolean success = mClassic.authenticateSectorWithKeyA(1, MifareClassic.KEY_DEFAULT); 
final ByteArrayBuffer b = new ByteArrayBuffer(mMaxSize); 

if (success) 
{ 
    b.append(mClassic.readBlock(0), 0, 16); 
    b.append(mClassic.readBlock(1), 0, 16); 
    b.append(mClassic.readBlock(2), 0, 16); 
    b.append(mClassic.readBlock(3), 0, 16); 
} 

Если я хочу читать сектор 0, все в порядке. Но если я хочу читать другой сектор (например, сектор 1), успех имеет истинное значение, но когда приложение переходит к readBlock(), запускается IOException, и я вернул tranceiver.

Что я делаю неправильно?

+0

Вы попробовали следующую ссылку http://mifareclassicdetectiononandroid.blogspot.in/ – blganesh101

ответ

0

В вашем примере кода вы аутентификации для сектора 1, но затем попытаться прочитать блоки из сектора 0. Помните, что номера секторов и блоков основаны на нуле. Вы также можете быть заинтересованы в blockToSector(int block).

Смежные вопросы