【发布时间】:2016-01-01 16:50:36
【问题描述】:
我使用 Delphi 10 Seattle 创建了 Android 应用程序。我已经存储了图像路径,从那里我需要在原生 Android Gallery 中打开图像。如何实现此功能?
【问题讨论】:
标签: android delphi firemonkey delphi-10-seattle
我使用 Delphi 10 Seattle 创建了 Android 应用程序。我已经存储了图像路径,从那里我需要在原生 Android Gallery 中打开图像。如何实现此功能?
【问题讨论】:
标签: android delphi firemonkey delphi-10-seattle
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”
上面示例代码的一部分。
【讨论】: