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)