Хотя я не могу комментировать конкретно Toshiba Folio, я призываю вас пересмотреть способ анализа строки MAC-адреса.
Я написал код много лет назад, чтобы получить MAC-адреса от сетевых карт в ПК.- поскольку использовались драйверы ПК для карт, формат может отличаться в зависимости от производителя.Документы для WifiInfo.getMACAddress () на самом деле не дают гарантии того, как эта строка будет возвращена, поэтому подумайте о подготовке ко всем возможностям.
Я видел следующие форматы ...
01:02:03:04:05:06 // Delimited with ':' and padded to 2 chars
1:2:3:4:5:6 // Delimited but if < 16, there was no leading '0'
010203040506 // No delimiters but octets ALWAYS pre-padded with '0' when < 16
ПРИМЕЧАНИЕ. Кроме того, буквенные символы могут быть в верхнем или нижнем регистре (хотя и согласованы в каждом случае, т. Е. Все в верхнем или нижнем регистре).Пример ...
0A0B0C0D0E0F
0a0b0c0d0e0f
A:B:C:D:E:F
a:b:c:d:e:f
Чтобы справиться с вышесказанным, я сначала принудительно задал строку toLower ().
Затем я проверил наличие ':'.Если бы она существовала, я бы разбил строку на массив, а затем проверил бы длину каждой «строки октетов» в массиве, а если длина = 1, то заполнение не использовалось, поэтому я бы добавил префикс «0».Наконец, я бы собрал строку, объединив каждый из элементов массива, используя «:» в качестве разделителя.
Если строка не содержит «:», то я бы подтвердил, что ее длина = 12, вв этот момент я бы перестроил строку, используя каждую пару символов, и разделил ее символом ':'.
Если строка не была разделена, а ее длина не равна 12, то было бы невозможно выполнить правильный анализ, и яЯ должен был предположить, что запрос строки MAC-адреса не удался, и я сообщил о неверном MAC-адресе.