FAQ FM
Устройство
Об устройстве

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

[Android] Как получить IMEI?

// В настройках проекта нужно выставить разрешения:
// Uses Permissions
//   • Read phone state

uses
  Androidapi.JNI.Telephony, Androidapi.JNI.JavaTypes, Androidapi.Helpers,
  Androidapi.JNI.GraphicsContentViewText, Androidapi.JNIBridge;

function GetIMEI: string;
var
  TelephonyObj: JObject;
  TelephonyManager: JTelephonyManager;
begin
  Result := '';
  TelephonyObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
  if Assigned(TelephonyObj) then
  begin
    TelephonyManager := TJTelephonyManager.Wrap((TelephonyObj as ILocalObject).GetObjectID);
    if Assigned(TelephonyManager) then
      Result := JStringToString(TelephonyManager.getDeviceId);
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  MessageDlg(GetIMEI);
end;


Как получить модель устройства?

uses
  FMX.Platform;

procedure TForm1.Button1Click(Sender: TObject);
var
  Service: IFMXDeviceService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXDeviceService, Service) then
    ShowMessage(Service.GetModel);
end;


Как программно проверить, имеет ли устройство TouchScreen?

uses
  FMX.Platform;

procedure TForm1.Button1Click(Sender: TObject);
var
  Service: IFMXDeviceService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXDeviceService, Service) and
    (TDeviceFeature.HasTouchScreen in Service.GetFeatures) then
    ShowMessage('Устройство имеет TouchScreen')
  else
    ShowMessage('Устройство не имеет TouchScreen');
end;

При использовании материала - ссылка на сайт обязательна