Программно получить свой номер телефона в Symbian - PullRequest
6 голосов
/ 13 сентября 2008

Как узнать номер телефона устройства в Symbian?

Ответы [ 5 ]

5 голосов
/ 18 сентября 2008

В соответствии со спецификациями GSM на карточке SIM требуется только IMSI .

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

Так что независимо от того, какую технологию вы используете (Symbina, Java ...), вы никогда не сможете рассчитывать на то, что сможете постоянно получать свой собственный номер телефона с устройства или SIM-карты. Возможно, вам повезет, если оператор сохранит его на SIM-карте или если телефон предоставит пользователю возможность ввести его вручную, но это не обязательно должно быть так.

2 голосов
/ 09 октября 2008

Как сказал Пэт, хотя на SIM-карте есть API для доступа к слоту с "собственным номером", в моем опыте этот слот заполнен редко.

Обычная стратегия получения номера телефона для подключенного приложения - отправка SMS в процессе проверки. Или:

  1. Программно отправляйте SMS с телефона на ваш сервер (множество хороших провайдеров межсетевых соединений для SMS-шлюзов). SMS придет на ваш сервер «с» номера телефона (или SIM-карты, если быть более точным). Конечно, SMS должно содержать некоторый токен, чтобы сервер мог связать его с данным сеансом / пользователем. Преимущество этого заключается в том, что вам не нужно, чтобы пользователь вводил свой номер телефона (что сопряжено с небольшими трудностями, поскольку мало кто понимает, как форматировать числа в формате E.164). Одним из недостатков является то, что этот процесс может стоить вашим пользователям денег (одно SMS).

  2. Попросите пользователя ввести свой номер телефона (веб-сайт или трубку) и подключиться к вашему серверу, передав этот номер телефона. Затем попросите трубку дождаться SMS-сообщения, отправленного с вашего сервера. Если это SMS действительно пришло, вы подтвердили правильность и действительность введенного ими номера телефона. Очевидным недостатком является то, что это зависит от того, правильно ли пользователь вводит свой номер - опять же, учитывая множество способов написания телефонных номеров по всему миру, это не так тривиально, как звучит для нормализации номеров в E.164 ....

Увы, ни один из этих методов не является пуленепробиваемым, особенно потому, что SMS - это не связанный транспорт. В зависимости от загрузки сети GSM, загрузка вашего провайдера шлюза, фазы луны и направления отправки SMS-сообщения может занять от секунды до месяца (да, у меня есть опыт последнего). Среднее время доставки часто указывается в секундах, но вам нужно поиграть с тайм-аутом операции и, возможно, придется настроить его на основе географической сети и сети GSM. [И нет, не полагайтесь на отчеты о доставке - даже более ненадежные, чем доставка SMS]

1 голос
/ 13 сентября 2008

К вашему сведению: На самом деле я нашел это.

http://www3.symbian.com/faq.nsf/AllByDate/100335073FFD8FEF80256E3200571A49?OpenDocument

Но дело в том, что номер телефона не всегда хранится на SIM-карте. Оператор решает сделать это или нет!

0 голосов
/ 25 сентября 2008

Как правило, невозможно получить MSISDN с устройства Symbian (или BREW, или с любой другой платформы). Мы попробовали.

0 голосов
/ 13 сентября 2008

Вы не можете. AFAIK.

Проверьте это обсуждение: http://discussion.forum.nokia.com/forum/showthread.php?t=65117

...