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

Eu tenho várias perguntas sobre o NfcA para iniciantes. Parece haver pouca orientação sobre isso nodocs e em outras partes da web, espero que ninguém se importe comigo em fazer algumas perguntas básicas aqui ...

Estou usando o nfcA.transceive () paraEscreva dados para minha tag NTAG213 como esta:

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

1 oresult array é um único byte de valor 10. O que isso significa e quais outros valores devo procurar?

Eu também estou usando o mesmo método paraler dados das minhas tags NTAG213:

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

2) Eu esperava que isso retornasse 4 bytes de dados do usuário (ou seja, os 4 bytes que correspondem ao meu pageNum), mas retornou 16 bytes. Por que é esse o caso?

3) É uma boa prática verificarnfcA.isConnected() antes de ligarnfcA.connect() e, em caso afirmativo, é provável que exista uma penalidade de desempenho significativa nesse processo? (Pergunto como vi exemplos de código de fontes respeitáveis de ambos.)

4) É melhor ligarnfcA.setTimeout() antes ou depoisnfcA.connect()?

5) Para minhas tags NTAG213nfcA.getMaxTransceiveLength() retorna 253. Isso realmente significa que eu posso gravar até 251 bytes de dados do usuário (mais os 2 outros bytes) de uma só vez e, nesse caso, isso é aconselhável ou é melhor escrever cada página (4 bytes) comnfcA.transceive() chamadas?

questionAnswers(1)

yourAnswerToTheQuestion