Android 使用firemonkey将照片添加到图库
我正在尝试将图片保存在设备的外部存储器上,然后将图像添加到gallery。 我尝试了以下代码,但它不工作! 没有发生错误,但我看不到保存在gallery中的图片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 :=
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;