Перейти к содержанию
  • Регистрация
  • 0
rakhmet

Определить тип устройства

Вопрос

Можно ли на Delphi определить, способно устройство звонить или нет? Понадобилось определить, чем является устройство - телефоном, планшетом, или каким-нибудь мутантом, чтобы автоматически скрывать кнопку "Набрать номер" на тех устройствах, которые не умеют звонить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
// uses FMX.Platform, FMX.PhoneDialer

function DialerSupport: boolean;
var
  FPhoneDialerService: IFMXPhoneDialerService;
begin
  Result := false;
  if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, FPhoneDialerService) then
    Result := true;
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В ‎06‎.‎01‎.‎2017 в 16:32, ZuBy сказал:

FMX.Platform, FMX.PhoneDialer

У меня вставка вызова этой функции в OnCreate (впрочем не важно - до вызова не доходит) на симуляторе IOS (10.0) Xcode 8, вызывает крах приложения еще на этапе Application.Initialize;

( win, android, OSX - работает)

под отладчиком так выглядит :

Thread Exit: Thread ID: 16131. Process dyld_sim (590)
First chance exception at $00018FE4. Exception class EObjectiveC with message 'ObjectiveC class CTCallCenter could not be found'. Process dyld_sim (590)

в инете есть  ссылки.. решения , я так понял нет пока.. интересно и на device будет вылетать? пока не могу проверить.. но это совсем тогда грустно.. в IOS позвонить нельзя что ли?
 

 

Изменено пользователем Сергей Сергеев
дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От POV
      Винда 10, два компа (рабочий ноут и планшет от мелкософта - у первого 100% экран, у другого 200%).
      Исходя из габаритов разных там компонентов и другой формы, рассчитываю Top и Left интересующей меня формы. На ноуте выводится где и хотел, а на планшете выше и левее. Смещение не кратно никак масштабу. В доступе планшета нет, как отлаживать не придумаю.
      Косяк всё же в в масштабе может быть или иное?
    • От Andrew
      Для проведения опытов на Delphi XE8 использовал два планшета Android:
      - Lenovo TAB S8-50LC на базе процессора Intel Atom Z3745: http://www.ixbt.com/portopc/lenovo-tab-s8-50lc.shtml. На нем установлен Android версии 4.4.2. Подключил к USB и, как не странно, тестовая программка "Hello World!" успешно запустилась, хотя думал, что с процессором Intel вообще ничего не получится;

      - Prestigio Multipad PMT5777_3G с процессором ARM MediaTek MT8382. На нем установлен Android 4.2.2.

      Затем на форму красного цвета бросил зеленый TRectangle, присвоил Align значение Client, а также добавил желтую рамку с помощью свойства Stroke (Thinkness=10). Запустил на Prestigio - выглядит нормально, если не считать не дорисованных уголков (см. красные квадраты). Кстати, на Windows уголки рамки отображаются нормально.
       
      MainForm.Top = 25 - видимо, смещение от статус-бара.
       

       
       
      Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0:
       

       
      ------------------------------------------------------------------------------------------------------------------------------------
       
      Поворачиваем планшеты на 90 градусов. На Prestigio все выглядит нормально:
       

       
       
      На Lenovo произошло какое-то расстройство:
       

       
       
      Как я понял, на Lenovo возникают проблемы с получением высоты статус-бара и размеров экрана при повороте планшета, но с чем это связано - непонятно. Возможно решение где-то в FMX.Platform.Android или глубже. По крайней мере там переменная FStatusBarHeight равна нулю.

      На моем примере ниже можно получить правильные размеры и позицию для формы (в т.ч. с учетом статус-бара):
      NativeWin := SharedActivity.getWindow;
      if NativeWin <> nil then
      begin
      ContentRect := TJRect.Create;
      DecorView := NativeWin.getDecorView;
      DecorView.getWindowVisibleDisplayFrame(ContentRect);
      end;
    • От Pax Beach
      При публикации приложения в Google Play получаю предупреждение: «Оптимизируйте свое приложение для планшетных ПК. Шаблон страниц должен предусматривать максимальное использование пространства на экране планшетного ПК.».
      Подскажите плиз, какие конкретно шаги нужно выполнить при подготовке проекта к публикации, чтобы устранить это предупреждение?
       
    • От Rusland
      Я смотрю тут у многих проблемы с Android 5.
      Программы которые работали на 4ой версии Андроида не работают должным образом на 5ой версии!
      Буду писать о всех проблемах с которыми сталкиваюсь с планшетом Lenovo Tab 2 A8-50LC.
       
      1 Проблема.
      Запустил один и своих проектов - программа просто крэшилась... после 3х попыток программа запустилась, но "помирает" при вызове Edit1.SetFocus
       
      2 Проблема.
      Устанавливаю программу с сервисом, на планшете не появляется значок запуска программы! То есть если запущенную из студии программу закрыть, то ее никак не перезапустить.
       
      3 Проблема
      Периодически если планшет в спящем режиме (у меня стоит "Через 2 минуты"), то при компиляции установке программы она не запускается самой студией (в силу наличия проблемы2 запустить программу не получается никак).
       
      Как это лечить?
       
       
      PS. Delphi RX Seattle
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...