Android nfcA.connect (), nfcA.transceive (), nfcA.setTimeout () y nfcA.getMaxTransceiveLength ()

Tengo varias preguntas para principiantes de la NfcA. Parece que hay poca orientación sobre esto en eldocs y en otras partes de la web, así que espero que a nadie le importe encadenar algunas preguntas básicas aquí ...

Estoy usando nfcA.transceive () paraescribir datos a mi etiqueta NTAG213 como esta:

    byte[] result = nfcA.transceive(new byte[] {
            (byte)0xA2,  // WRITE
            (byte)(pageNum & 0x0ff),
            myData[0], myData[1], myData[2], myData[3]
    });

1) losresult array es un solo byte de valor 10. ¿Qué significa esto y qué otros valores debo tener en cuenta?

También estoy usando el mismo método paraleer datos de mis etiquetas NTAG213:

    byte[] result = nfcA.transceive(new byte[] {
            (byte)0x30,  // READ
            (byte)(pageNum & 0x0ff)
    });

2) Esperaba que esto devolviera 4 bytes de datos de usuario (es decir, los 4 bytes que corresponden a mi pageNum), pero devolvió 16 bytes. ¿Por qué es ese el caso?

3) ¿Es una buena práctica verificarnfcA.isConnected() antes de llamarnfcA.connect() y, de ser así, ¿es probable que haya una penalización de rendimiento significativa al hacerlo? (Pregunto porque he visto ejemplos de código de fuentes confiables de ambos).

4) ¿Es mejor llamar?nfcA.setTimeout() antes o despuésnfcA.connect()?

5) Para mis etiquetas NTAG213nfcA.getMaxTransceiveLength() devuelve 253. ¿Eso realmente significa que puedo escribir hasta 251 bytes de datos de usuario (más los otros 2 bytes) de una vez y, si es así, es aconsejable o es mejor escribir cada página (4 bytes) connfcA.transceive() llamadas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta