Normally on Android you would use the ACTION_CREATE_DOCUMENT intent to save a file. I have no idea how to do this from Pascal however, Copilot gave me this example:
uses
AndroidWidget, actionbardetails, dialogdetails, ..., // import necessary LAMW units
AndroidWidget.LamwConsts; // import LamwConsts for ACTION_CREATE_DOCUMENT
procedure TAndroidModule1.StartCreateDocument;
var
intent: JIntent;
begin
intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_CREATE_DOCUMENT);
intent.setType(StringToJString('text/plain')); // You can set other MIME types as needed
intent.putExtra(TJIntent.JavaClass.EXTRA_TITLE, StringToJString('example.txt'));
jActivity.startActivityForResult(intent, CREATE_DOCUMENT_REQUEST_CODE); // Use your request code
end;
procedure TAndroidModule1.jActivityActivityResultRequestCodeResultCodeData(requestCode: integer; resultCode: integer; intentData: jObject);
var
outputStream: JFileOutputStream;
uri: Jnet_Uri;
begin
if requestCode = CREATE_DOCUMENT_REQUEST_CODE then
begin
if resultCode = TJActivity.JavaClass.RESULT_OK then
begin
uri := TJnet_Uri.Wrap((intentData as JIntent).getData);
outputStream := jContentResolver.openOutputStream(uri);
try
outputStream.write(StringToJString('Hello World').getBytes);
outputStream.flush;
finally
outputStream.close;
end;
end;
end;
end;
procedure TAndroidModule1.ButtonCreateDocumentClick(Sender: TObject);
begin
StartCreateDocument;
end;