Перейти к содержанию
Fire Monkey от А до Я

Владимир1

Пользователи
  • Постов

    11
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Активность репутации

  1. Like
    Владимир1 получил реакцию от Ingalime в Просмотр сохранённых изображений программой по умолчанию   
    Здравствуйте!
    Решил вопрос таким образом:
    1. Нужен будет файл:
    https://github.com/DelphiWorlds/KastriFree/blob/master/API/DW.Androidapi.JNI.FileProvider.pas
    Код будет такой:
    Procedure ShowPhoto;
    var
      Intent: JIntent;
      Authority: JString;
       Uri: Jnet_Uri;
    begin
      With Form1.PhotoGrid do
        i:=Selected*2+ColumnIndex;
      If i>FImages.Count-1 then
        Exit;
      Authority := StringToJString(JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName) + '.fileprovider');
      Uri:=TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context, Authority, TJFile.JavaClass.init(StringToJString(FILE)));
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setDataAndType(Uri, StringToJString('image/*'));
      Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
      TAndroidHelper.Activity.startActivity(Intent);
    end;
    У меня в Delphi подключен SDK 25.
    Работа проверена на Андроид 4.4 и 8.0
     
  2. Like
    Владимир1 получил реакцию от #WAMACO в Просмотр сохранённых изображений программой по умолчанию   
    Здравствуйте!
    Решил вопрос таким образом:
    1. Нужен будет файл:
    https://github.com/DelphiWorlds/KastriFree/blob/master/API/DW.Androidapi.JNI.FileProvider.pas
    Код будет такой:
    Procedure ShowPhoto;
    var
      Intent: JIntent;
      Authority: JString;
       Uri: Jnet_Uri;
    begin
      With Form1.PhotoGrid do
        i:=Selected*2+ColumnIndex;
      If i>FImages.Count-1 then
        Exit;
      Authority := StringToJString(JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName) + '.fileprovider');
      Uri:=TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context, Authority, TJFile.JavaClass.init(StringToJString(FILE)));
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setDataAndType(Uri, StringToJString('image/*'));
      Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
      TAndroidHelper.Activity.startActivity(Intent);
    end;
    У меня в Delphi подключен SDK 25.
    Работа проверена на Андроид 4.4 и 8.0
     
×
×
  • Создать...