открытие изображения во внешней галерее с помощью delphi

Я создал приложение для Android, используя Delphi 10 Seattle. Я сохранил путь к изображению, и оттуда мне нужно открыть изображение в собственной галерее Android. Как я могу реализовать этот функционал?


person test12345    schedule 01.01.2016    source источник


Ответы (1)


Java-эквивалент того, что вы пытаетесь сделать, выглядит следующим образом (на основе open-an-image-using-uri-in-androids- изображение-галереи-изображения-по умолчанию)

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + "/sdcard/test.jpg"), "image/*");
startActivity(intent);

Итак, если мы переведем это в Delphi, используя sending-android-intents -from-delphi-part-2 в качестве руководства мы должны получить примерно такой код:

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» в приведенном выше примере кода.

person nolaspeaker    schedule 01.01.2016
comment
Большое спасибо. Работает отлично. - person test12345; 02.01.2016
comment
Кроме того, вместо изображения я добавил аудио, и тогда я могу воспроизводить аудио во внешнем проигрывателе. - person test12345; 02.01.2016
comment
Привет, кто-нибудь знает, как это сделать для IOS? - person Ryno Coetzee; 15.11.2016