Android 使用firemonkey将照片添加到图库

Android 使用firemonkey将照片添加到图库,android,delphi,Android,Delphi,我正在尝试将图片保存在设备的外部存储器上,然后将图像添加到gallery。 我尝试了以下代码,但它不工作! 没有发生错误,但我看不到保存在gallery中的图片 function GetImageUri(ABitmap: TBitmap): Jnet_Uri; var ImageFile: JFile; ImageUri: Jnet_Uri; FileNameTemp: JString; FileNameExt: JString; begin FileNameTemp :=

我正在尝试将图片保存在设备的外部存储器上,然后将图像添加到gallery。 我尝试了以下代码,但它不工作! 没有发生错误,但我看不到保存在gallery中的图片

function GetImageUri(ABitmap: TBitmap): Jnet_Uri;
var
  ImageFile: JFile;
  ImageUri: Jnet_Uri;
  FileNameTemp: JString;
  FileNameExt: JString;
begin
  FileNameTemp := StringToJString('temp');
  FileNameExt := StringToJString('.jpg');
  try
    ImageFile := TJFile.JavaClass.createTempFile(FileNameTemp, FileNameExt);
    ImageUri := TJnet_Uri.JavaClass.fromFile(ImageFile);
    showmessage(JStringToString(ImageFile.getAbsolutePath));
    ABitmap.SaveToFile(JStringToString(ImageFile.getAbsolutePath));
  finally
    Result := ImageUri;
  end;
end;

procedure AddPhotoToGallery(const APhoto: TBitmap);
var
  Intent: JIntent;
begin
  Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_MEDIA_SCANNER_SCAN_FILE);
  Intent.setData(GetImageUri(APhoto));
  SharedActivity.sendBroadcast(Intent);

end;
使用平台服务。此接口有一个方法,您可以使用要添加到设备库的对象调用该方法

检查此代码段:

uses
  FMX.Platform,
  FMX.MediaLibrary;

procedure TForm2.Button1Click(Sender: TObject);
var
  Gallery: IFMXPhotoLibrary;
begin
  if not TPlatformServices.Current.SupportsPlatformService(IFMXPhotoLibrary, Gallery) then
    Exit;

  Gallery.AddImageToSavedPhotosAlbum(YoutBitmapObjectHere);
end;