byte[] APDUCommand = {
(byte) 0x00, // CLA Class
(byte) 0xA4, // INS Instruction
(byte) 0x04, // P1 Parameter 1
(byte) 0x00, // P2 Parameter 2
(byte) 0x0A, // Length
0x63,0x64,0x63,0x00,0x00,0x00,0x00,0x32,0x32,0x31 // AID
};
Intent intent = getIntent();
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep iso = IsoDep.get(tag);
iso.connect();
byte[] result = iso.transceive(APDUCommand);
I am using the above code to read VisaPayWave NFC card details(card holder's name, expiry date, card number etc) using samsung galaxy s4. The output that i am getting is [106,-126]. I think the APDU command i am using is not correct. Kindly suggest the correct command.
Change your APDU command definition
byte[] APDUCommand = {
(byte) 0x00, // CLA Class
(byte) 0xA4, // INS Instruction
(byte) 0x04, // P1 Parameter 1
(byte) 0x00, // P2 Parameter 2
(byte) 0x07, // Length
(byte) 0xA0,0x00,0x00,0x00,0x03,0x10,0x10 // AID
};