使用delphi使用外部库打开图像

时间:2016-01-01 16:50:37

标签: android delphi firemonkey delphi-10-seattle

我使用Delphi 10 Seattle创建了Android应用程序。我存储了图像路径,然后我需要在原生Android图库中打开图像。我该如何实现此功能?

1 个答案:

答案 0 :(得分:3)

Java等同于您尝试做的事情,看起来像这样(基于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);

因此,如果我们使用sending-android-intents-from-delphi-part-2作为指南将其转换为Delphi,我们应该得到类似这样的代码:

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;

当然最好使用

System.IOUtils.TPath.Combine(Path, Filename)代替'/sdcard/test.jpg' 以上示例代码的一部分。