@Romanson

Как узнать номер телефона на андроид FMX Delphi?

Привет Гики!))) Есть проблема,
var
  obj: JObject;
  tm: JTelephonyManager;
  identifier: String;
begin
  obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
  if obj <> nil then
  begin
    tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );
    if tm <> nil then
      identifier := JStringToString(tm.getDeviceId);
  end;
  if identifier = '' then
    identifier := JStringToString(TJSettings_Secure.JavaClass.getString(SharedActivity.getContentResolver,
TJSettings_Secure.JavaClass.ANDROID_ID));
showmessage(identifier);

вывод iMEI работает отлично а вот
var
  tMgr: JTelephonyManager;
  PhoneNumber: String;
begin
  tMgr := TJTelephonyManager.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE)
as ILocalObject).GetObjectID);
  PhoneNumber := JStringToString(tMgr.getLine1Number);
  Label1.Text:=PhoneNumber;
вывод номера телефона никак не хочет... выдает пустую строчку в ответ. в чем может быть беда и есть ли альтернатива для того что бы узнать номер телефона?
  • Вопрос задан
  • 1279 просмотров
Решения вопроса 1
ORTOL
@ORTOL
Delphi
Привет.
Твой вопрос многое говорит об твоей IT квалификации. Я ещё с 8-9 того класса знаю что мобильный номер НЕ хранится в мобильном ... И не какая функция, процедура не способна её узнать ....
Её ПРОСТО нет в телефоне ...

Эта функция, которую ты скопировал ... Она показывает номер который был введён в настройки SIM карты или пользователем или оператором, если он не введён то разумеется функция возвращает пустой результат ...

Ты не умеешь правильно мыслить и тем самым задавать вопросы ... (Научись сперва этому, потом переходи к программированию). Перед этим вопросом "Как узнать номер телефона на Android FMX Delphi ?" Проведи элементарный анализ, прочти про SIM карты и о том какую информацию он в себе хранит, содержит ли он мобильный номер и для какой страны .... Ты этого нечего не сделал и задаёшь тут таких вопросов на которые честно говоря и отвечать не хочется .... Пойми простую вещь ...

Ты пытаешься написать программу, а программа работает на ОС а ОС находится на устройстве.
Ты во первых должен знать элементарных вещей об устройстве потом об ОС и потом переходить к программированию .... А ты даже не знаешь где Моб номер хранится ....

Вот тебе снимок экрана моего телефона ...
2d99a0a6eb2745558ee80c24c199fc06.jpg
Этот алгоритм у меня тоже вернул пустой результат, так как моя SIM карта тоже мой МОБ номер не содержит ... А вот IMEI код он показал, да и вообще он есть в любом телефоне почему бы и не показать ???

Вот тебе ссылка на Японский сайт. Там показано что можно узнать по SIM карте. (Максимум).
Delphi XE6でAndroidスマートフォンの電話番号などの端末情報を取得するには

Если что пользуйся переводчиком ... Удачи ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы