opening the image with the external gallery using delphi

前端 未结 1 1190
你的背包
你的背包 2021-01-15 23:12

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 t

1条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-15 23:53

    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.

    0 讨论(0)
提交回复
热议问题