Здравствуйте!
Решил вопрос таким образом:
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