评论

收藏

[R语言] Delphi 10.3.1拍照遇到的问题

编程语言 编程语言 发布于:2021-07-31 10:17 | 阅读数:319 | 评论:0

DSC0000.jpeg
procedure TAddOrderCamera.CameraActionExecute(Sender: TObject);
var
  Service: IFMXCameraService;
  Params: TParamsPhotoQuery;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService, Service) then
  begin
  Params.Editable := False; //拍完照是否允许编辑
  // Specifies whether to save a picture to device Photo Library
  Params.NeedSaveToAlbum := False; //是否保存到系统相册
  Params.RequiredResolution := TSize.Create(2000, 2000);//拍照大小,每张照片有固定宽高比例,系统会自动处理,给它一个想要的大约值就行。
  Params.OnDidFinishTaking :=Self.CameraActionDidFinishTaking;//拍完照后触发的事件
  Service.TakePhoto(nil, Params);//打开相机,开始拍照
  end
  else
  ShowMessage('设备不支持拍照.');
end;
上面的代码,在10.3.1下出错。但是,同样的调用方式在另外一个app中,则没有问题。跟踪确定,问题出在Service.TakePhoto(nil,Pararms)这一句上。
两个项目使用的AndroidManifest.xml文件是一样的。
解决方法:打开Project Options窗口,如下图,Secure File Sharing打勾!
DSC0001.png

参考QC地址:https://quality.embarcadero.com/browse/RSP-22870
如果这一项不好用,则需要你重新安装10.3.1,具体原因可以参考:https://quality.embarcadero.com/browse/RSP-24067
以保证IDE生成正确的AndroidManifest.xml文件。
2019-07-11后记:
不用重装IDE,直接修改AndroidManifest.xml,增加一句:
<%provider%>
当然,前掉是Secure File Sharing打勾!
DSC0002.png


关注下面的标签,发现更多相似文章