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

Просмотр сохранённых изображений программой по умолчанию


Владимир1

Вопрос

Здравствуйте!

Пытаюсь открыть сохранённые в телефоне фотографии JPEG при помощи кода

Procedure ShowPhoto;
var
  Intent: JIntent; 
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setDataAndType(StrToJURI(‘file://storage/emulated/0/Documents/PHOTOS/pic.jpeg’), StringToJString('image/jpeg'));
  TAndroidHelper.Activity.startActivity(Intent);
end;

Delphi 10.3 .

Разрешения на чтение/ запись (Write External storage и Read external Storage) получены через PermissionsService.RequestPermissions....

На андроиде 4.4 запускается.

На андроиде 8 не запускается.

Не могу понять - в чём дело.

Помогите, пожалуйста, разобраться!


 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Здравствуйте!

Решил вопрос таким образом:

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

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...