我使用Delphi 10 Seattle创建了Android应用程序。我存储了图像路径,然后我需要在原生Android图库中打开图像。我该如何实现此功能?
答案 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'
以上示例代码的一部分。