Есть ли способ, позволяющий апплету STK на SIM-карте узнать количество контактов в файле ADN?

Я должен сделать поиск в файле ADN на SIM-карте в моем STK-апплете, чтобы найти кого-то.

Однако, если мне придется сканировать все количество записей в файле ADN (даже если это пустая запись), это будет очень медленно, и я не знаю, как получить количество контактов в файле ADN из апплета STK.

Если кто-нибудь из вас знает, как узнать количество контактов, пожалуйста, поделитесь со мной и большое спасибо заранее.

Поскольку в телефоне имеется информация об использовании памяти контактов (т. Е. 34/250), я не знаю, как телефон получает эту информацию, и есть ли какое-либо решение, позволяющее апплету STK получать эту информацию с телефона?

С наилучшими пожеланиями, Hai-Binh LE

1 ответ

Решение

Телефон выбирает файл и в ответ на него SIM-карта отправляет ответ, для которого на мобильном телефоне снова запускается команда, известная как Get Response, в этом SIM-запросе получения ответа отправляют данные этого файла. Теперь в случае ADN, который является файлом записи, команда будет содержать размер файла и длину записи, поэтому итоговые записи будут равны размеру / длине записи.

Подробнее об этой команде вы можете прочитать в 3GPP 11.11.

Теперь относительно поиска данных в апплете STK не очень много времени, апплеты STK очень быстрые и 250 записей не слишком много, поэтому в цикле просто прочитайте запись и проверьте на 21 байт, если это FF, тогда запись пуста. Структура записей ADM:-

1 to X  Alpha Identifier    O   X bytes
X+1 Length of BCD number/SSC contents   M   1 byte
X+2 TON and NPI M   1 byte
X+3 to X+12 Dialling Number/SSC String  M   10 bytes
X+13    Capability/Configuration Identifier M   1 byte
X+14    Extension1 Record Identifier    M   1 byte

В вашем случае длина равна 34, поэтому первые 20 байтов содержат имя (здесь мы называем его альфа-идентификатором), а затем начинается число. Ну, я прошу проверить 21-й байт, потому что это может быть случай, когда пользователь сохранил номер без имени. Так что не проверяйте первый байт.

Надеюсь, что это полезно..:-)

Другие вопросы по тегам