具有如下所示的十六进制值这样的有效负载,使用https://www.ndefparser.net/对其进行解析以查看NdefRecord结构:
94 03 49 61 73 76 94 01 06 69 04 02 71 79 79 71 54 03 39 63 75 73 94 03 11 63 69 64 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 01 03 03 54 63 70 6C 00 70 6C 54 03 11 63 75 74 04 AC F8 12 E9 07 AA 87 C5 78 58 CF 77 E7 8B 93 00 54 03 41 61 73 76 94 01 06 69 04 01 05 50 37 B0 54 02 32 65 74 94 03 09 6F 69 64 04 BA 80 61 6D 51 FB 1B 2B 59 01 1D 01 55 6E 00 65 31 35 33 31 38 32 35 30 35 31 32 33 34 2D 31 35 34 32 35 37 35 39 35 30 38 34 34
我想搜索TYPE:0x54(“ T”)的特定记录并到达有效负载。
我已经这样做了,但是我觉得这不是最佳的,可以改进的:
ndefMessage.records.forEach {
if (it.type?.contentEquals(hexStringToByteArray("617376")) == true) {
NdefMessage(it.payload).records.forEach {
if (it.type?.contentEquals(hexStringToByteArray("6574")) == true) {
NdefMessage(it.payload).records.forEach {
if (it.type?.contentEquals(hexStringToByteArray("54")) == true) {
if (getBytesHexValue(it.payload).startsWith("00")) {
payload = String(it.payload).substring(1)
}
}
}
}
}
}
}
有什么方法可以改善这一点?