Yo he probado este código:
Código Delphi
[-]procedure TForm4.Button1Click(Sender: TObject);
var
fName:string;
begin
Memo1.Lines.Add('Grabar en [GetDownloadsPath]');
fName := TPath.Combine(TPath.GetDownloadsPath , 'carga5.txt');
Memo1.Lines.SaveToFile(fName);
Memo1.Lines.Add(fName);
Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));
Memo1.Lines.Add('Grabar en [GetDocumentsPath]');
fName := TPath.Combine(TPath.GetDocumentsPath, 'carga6.txt');
Memo1.Lines.SaveToFile(fName);
Memo1.Lines.Add(fName);
Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));
Memo1.Lines.Add('Grabar en [GetTempPath]');
fName := TPath.Combine(TPath.GetTempPath, 'carga7.txt');
Memo1.Lines.SaveToFile(fName);
Memo1.Lines.Add(fName);
Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));
Memo1.Lines.Add('Grabar en [GetPublicPath]');
fName := TPath.Combine(TPath.GetPublicPath, 'carga8.txt');
Memo1.Lines.SaveToFile(fName);
Memo1.Lines.Add(fName);
Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));
end;
Con Delphi 10.3 sobre un Android, con el SDK "platforms\android-26"
Los permisos, desde las opciones del proyecto y sólo he asignado estos (el resto desactivados):
La salida por pantalla es esta:
Y comprobando con el Explorador de archivos del teléfono los ficheros están ahí.