Jak odczytać numer IMEI w urządzeniu z systemem Android 10 ? (FMX, Android 10, D 10.4)

0

Jak w temacie. W jaki sposób odczytać nr IMEI urządzenia ?
Poniższy kod bez problemu działa na Androidze 8, na Android 10 dostaję komunikat o błędzie:
java.lang.SecurityException: getImeiForSlot: The user 10203 does not meet the requirements to access device identifiers.

function getImei: string;
var
{$IFDEF ANDROID}
  tm: JTelephonyManager;
  vPermisoPhoneState: string;
{$ENDIF}
begin
{$IFDEF ANDROID}
  vPermisoPhoneState := JStringToString(TJManifest_permission.JavaClass.READ_PHONE_STATE);
  PermissionsService.RequestPermissions([vPermisoPhoneState], nil, nil);
  tm := Tjtelephonymanager.Create;
  result := JStringToString(tm.getImei);
{$ENDIF ANDROID}
{$IFDEF MSWINDOWS }
  result := 'WINDOWS';
{$ENDIF}
end;

W opcjach projektu mam zaznaczone wymaganie dostępu do stanu telefonu (READ PHONE STATE = true)

4

Dawno nie bawiłem się w pisanie czegoś na Android ale od wersji 10 to wymaga READ_PRIVILEGED_PHONE_STATE https://developer.android.com/about/versions/10/privacy/changes

0

@kAzek:
Dzięki za link .. wygląda na to że nie da się tego zrobić w prosty sposób
W sumie to chodzi mi o to aby uzyskać jakiś unikalny identyfikator (klucz) identyfikujący urządzenie

1 użytkowników online, w tym zalogowanych: 0, gości: 1