Как программно набрать * # 100 # и получить свой номер телефона? - PullRequest
1 голос
/ 16 сентября 2011

На мобильном телефоне с окном 6 мне нужно получить номер телефона SIM-карты в устройстве. Я могу набрать * # 100 # вручную, и на экране появится номер телефона.

Кто-нибудь знает, как это сделать программно?

Желательно в C #, но C ++ подойдет, я могу перевести.

SystemState.OwnerNumber просто возвращает пустую строку (вероятно, полагается на номер, который правильно хранится на SIM-карте), но * # 100 # работает.

Ответы [ 2 ]

2 голосов
/ 16 сентября 2011

Номер телефона фактически не хранится на SIM-карте, а в базе данных мобильной сети, называемой HLR. Там удобный номер телефона совпадает с идентификатором подписки под названием IMSI, который физически хранится на вашей SIM-карте.
Таким образом, чтобы получить номер телефона, ваше приложение должно быть разрешено устройством для связи в сети.

0 голосов
/ 24 февраля 2015

Чтобы получить номер на сим-карте телефона, нужно отправить смс на какой-то номер, который прослушивает какой-либо сервер. Смс будет нести по номеру телефона отправителя. Как только ваш сервер получает смс, сервер может отправить push-сообщение вашему клиентскому приложению с номером телефона, который нужен клиенту. Надеюсь это поможет.

...