das habe ich ja implementiert:
Delphi-Quellcode:
PermissionsService.RequestPermissions
([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)],
procedure(const APermissions: TArray<string>;
const AGrantResults: TArray<TPermissionStatus>)
begin
if (Length(AGrantResults) = 1) and
(AGrantResults[0] = TPermissionStatus.Granted) then
begin
//erlaubt
end
else
begin
TDialogService.ShowMessage('Ohne Speicherzugriff kann das Programm nicht arbeiten und wird beendet!');
Application.Terminate;
end;
end);
// Gerätename wegschreiben
MakeDeviceInfo(DeviceInfo.diDevice);
aber während noch "Zugriff auf Medien... erlauben" auf dem Display unbeantwortet steht wird schon die Procedure MakeDeviceInfo aufgerufen die auf den (noch nicht erlaubt) Speicher zugreifen will!
Ciao
Stefan