android - programa - descargar aplicacion para aprender ingles gratis
TagLostException usando Nfca para una aplicaciĆ³n de Android (1)
Actualmente estoy desarrollando una aplicación de Android (en JAVA) para teléfonos inteligentes con NFC. Intento comunicarme con una etiqueta de Nfca pero TagLostException
una TagLostException
sin importar el comando que envíe a través de transceive(byte[])
. La etiqueta está bien conectada al dispositivo.
Aquí está la pieza importante de código:
public void onNewIntent(Intent intent) {
setIntent(intent);
tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); // get the tag object for the discovered tag
nfca = NfcA.get(tag); // try and get the instance for this tag
if(nfca == null) {
Alert("tag","the tag is not NfcA");
} else {
new Thread(new Runnable() {
@Override
public void run() {
handler.sendEmptyMessage(1); //this will call handleMessage function and handle all error
}
}).start();
}
}
final Handler handler = new Handler() {
//handles the connection with the tag
@Override
public void handleMessage(final Message msgs) {
// try to connect to the NfcA tag
try {
nfca.connect();
} catch(IOException e) {
Alert("nfca.connect","cannot open connection ><");
}
Toast.makeText(NfcaActivity.this, "tag connected", Toast.LENGTH_LONG).show();
}
};
try {
//nfca.setTimeout(3000);
pageBuffer = nfca.transceive(command);
} catch(IOException e) {
Alert("pageBuffer","cannot perform transceive "+ e.toString());
} catch(Exception e) {
Alert("exception!", e.toString());
}
Estoy intentando con el siguiente comando: {00 CA 42 08 00}
o {00 A4 00 00 02 3F00}
pero tengo los mismos resultados.
Esos comandos funcionan cuando estoy usando un lector de tarjetas inteligentes y un software en mi PC. La tarjeta inteligente no está vacía.
¿Espero que la tarjeta tenga IsoDep
disponible la tecnología IsoDep
? Si ese es el caso, debes conectarte usando eso. Uno de los comandos que enumera parece una APDU ISO 7816-4 para seleccionar el archivo maestro. Se supone que debe usarse con tarjetas ISO 14443-4, que es exactamente lo que representa la tecnología IsoDep
.