Программно получить собственный номер телефона в Symbian
Вопрос
Как получить номер телефона устройства в Symbian?
Решение
Согласно спецификациям GSM, только ИМСИ должен быть доступен на SIM-карта карта.
Фактический номер телефона MSISDN хранится на HLR база данных находится в сети оператора и не обязательно должна быть доступна на SIM-карте или передаваться на телефон.
Поэтому независимо от того, какую технологию вы используете (Symbina, Java...), вы никогда не можете рассчитывать на то, что сможете последовательно получить свой собственный номер телефона с устройства или SIM-карты.Возможно, вам повезет, если оператор сохранит его на SIM-карте или если телефон предоставит пользователю возможность ввести его вручную, но это не обязательно так.
Другие советы
Как сказал Пэт, хотя существуют API для доступа к слоту «собственного номера» на SIM-карте, по моему опыту, этот слот редко заполняется.
Обычная стратегия получения номера телефона подключенного приложения — отправка SMS в рамках процесса проверки.Или:
Программно отправьте SMS с телефона на ваш сервер (существует множество хороших провайдеров межсетевых шлюзов SMS).SMS придет на ваш сервер «с» номера телефона (вернее, SIM-карты).Конечно, SMS должно содержать некоторый токен, чтобы сервер мог связать его с данным сеансом/пользователем.Преимущество этого подхода состоит в том, что вам не нужно, чтобы пользователь вводил свой собственный номер телефона (что сопряжено с небольшими трудностями, поскольку мало кто понимает, как форматировать числа в формате E.164).Недостатком является то, что этот процесс может стоить пользователю денег (одно SMS).
Попросите пользователя ввести свой номер телефона (на веб-сайте или на телефоне) и подключиться к вашему серверу, передав этот номер телефона.Затем попросите трубку дождаться прибытия SMS, которое вы отправите с вашего сервера.Если это SMS-сообщение действительно пришло, вы подтвердили, что введенный номер телефона правильный и действительный.Очевидным недостатком является то, что это зависит от правильного ввода пользователем своего номера - опять же, учитывая множество способов написания телефонных номеров по всему миру, нормализовать номера в формате E.164 не так тривиально, как кажется....
Увы, ни один из этих методов не является надежным, особенно потому, что SMS — это неподключенный транспорт.В зависимости от нагрузки сети GSM, загрузки вашего провайдера шлюза, фазы луны и направления окна, доставка SMS может занять от секунды до месяца (да, у меня есть опыт последнего).Среднее время доставки часто измеряется секундами, но вам придется поиграть с тайм-аутом операции и, возможно, придется настроить его в зависимости от географического положения и сети GSM.[И нет, не полагайтесь на отчеты о доставке — это даже более ненадежно, чем доставка СМС]
К вашему сведению:На самом деле я нашел это.
http://www3.symbian.com/faq.nsf/AllByDate/100335073FFD8FEF80256E3200571A49?OpenDocument
Но дело в том, что номер телефона не всегда хранится в SIM.Оператор выбирает делать это или нет!
Вы не можете.Насколько мне известно.
Проверьте это обсуждение:http://discussion.forum.nokia.com/forum/showthread.php?t=65117
Обычно невозможно получить MSISDN с устройства Symbian (или BREW, или любой другой платформы).Мы попробовали.