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;

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