I have created Android app using Delphi 10 Seattle. I have stored the image path and from there I need to open the image in the native Android Gallery. How can I implement this functionality?
Asked
Active
Viewed 2,292 times
1 Answers
3
The Java equivalent of what you're trying to do, looks like this (based on open-an-image-using-uri-in-androids-default-gallery-image-viwer)
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + "/sdcard/test.jpg"), "image/*");
startActivity(intent);
So if we translate that to Delphi using sending-android-intents-from-delphi-part-2 as a guide, we should get code that looks something like this:
var
Data: Jnet_Uri;
Intent: JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Data := TJnet_Uri.JavaClass.parse(StringToJString('file://' + '/sdcard/test.jpg'));
Intent.setDataAndType(Data, StringToJString('image/*'));
SharedActivity.startActivity(Intent);
end;
Of course it's preferable to use
System.IOUtils.TPath.Combine(Path, Filename)
in place of the '/sdcard/test.jpg'
part of the example code above.

Community
- 1
- 1

Freddie Bell
- 2,186
- 24
- 43
-
Thanks a lot. Works perfectly. – test12345 Jan 02 '16 at 07:48
-
Also, instead of **image** i have added **audio** and then I can able to play audio in the external player. – test12345 Jan 02 '16 at 07:53
-
Hi , does anybody know how to do this for IOS? – Ryno Coetzee Nov 15 '16 at 08:26