使用 delphi 打开带有外部图库的图像
opening the image with the external gallery using delphi
我使用 Delphi 10 Seattle 创建了 Android 应用程序。我已经存储了图像路径,我需要从那里在本机 Android 图库中打开图像。我怎样才能实现这个功能?
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'
上面示例代码的一部分。
我使用 Delphi 10 Seattle 创建了 Android 应用程序。我已经存储了图像路径,我需要从那里在本机 Android 图库中打开图像。我怎样才能实现这个功能?
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'
上面示例代码的一部分。