当前位置: 首页 > news >正文

象山县建设局网站重庆妇科医院咨询

象山县建设局网站,重庆妇科医院咨询,株洲网站建设网站,猪八戒网仿照哪个网站做的问题 Delphi 10.4 的安卓权限申请代码&#xff0c;在 Delphi 11 下面编译无法通过。 原因 原因是里面有几个变量类型的定义有所不同。 procedure TDmBLE.RequestPermissionsResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TAr…

问题

Delphi 10.4 的安卓权限申请代码,在 Delphi 11 下面编译无法通过。

原因

原因是里面有几个变量类型的定义有所不同。

procedure TDmBLE.RequestPermissionsResult(Sender: TObject;  const APermissions: TArray<string>;  const AGrantResults: TArray<TPermissionStatus>);

上述代码是 Delphi 10.4 的,里面有两个类型需要更改:

1. TArray<string> 更改为:TClassicStringDynArray

2. TArray<TPermissionStatus> 更改为:TClassicPermissionStatusDynArray

procedure DisplayRationale(Sender: TObject; const APermissions: TArray<string>; const APostRationaleProc: TProc);

同样,上面这个函数里面的 TArray<string> 更改为:TClassicStringDynArray;

适用于 Delphi 11 的安卓权限动态申请的完整代码

我把代码封装到一个单独的 DataModule 里面了。这样方便在不同的项目里重复使用。

unit UDmPermissions;
// 安卓的权限申请代码 Delphi 11
interfaceusesSystem.SysUtils, System.Types, System.Classes, System.Permissions, FMX.DialogService, System.UITypes;typeTDmPermissions = class(TDataModule)private{ Private declarations }FGotPermission: TNotifyEvent;procedure RequestPermissionsResult(Sender: TObject; const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray);procedure DisplayRationale(Sender: TObject; const APermissions: TClassicStringDynArray; const APostRationaleProc: TProc);procedure DoGotPermissions;public{ Public declarations }property OnGotPermissions: TNotifyEvent read FGotPermission write FGotPermission;end;varDmPermissions: TDmPermissions;implementation{%CLASSGROUP 'FMX.Controls.TControl'}{$R *.dfm}{ TDmPermissions }procedure TDmPermissions.DisplayRationale(Sender: TObject;const APermissions: TClassicStringDynArray; const APostRationaleProc: TProc);
begin//Rationale: 理由TDialogService.ShowMessage('We need to be given permission to discover BLE devices',procedure(const AResult: TModalResult)beginAPostRationaleProc;end)
end;procedure TDmPermissions.DoGotPermissions;
beginif Assigned(FGotPermission) then FGotPermission(Self);
end;procedure TDmPermissions.RequestPermissionsResult(Sender: TObject;const APermissions: TClassicStringDynArray;const AGrantResults: TClassicPermissionStatusDynArray);
beginif (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) thenSelf.DoGotPermissionselseTDialogService.ShowMessage('Cannot start BLE scan as the permission has not been granted');
end;end.

又及:

上述代码中,DoGotPermissions 方法,用于调用这个模块的地方,当用户在申请权限的界面上通过了权限申请后,要执行的代码,通过这个事件方法调用。

http://www.yayakq.cn/news/803722/

相关文章:

  • 网页站点文件夹外贸网站怎么做效果好
  • 软路由做网站计算机专业培训机构排名
  • 做论坛网站如何赚钱的宿州网站建设推广
  • 网站刷链接怎么做的网站模板去哪要
  • 织梦做网站的教程怎么制作网站模版
  • 长丰县重点工程建设管理局网站51zwd一起做网站
  • 网站制作模板教案上海模板网站建设
  • 南通丰汇建设有限公司公司网站黑镜wordpress
  • 怎么自己设计房子效果图软件定制网站优化 seo一站式
  • 金融业反洗钱培训网站世界互联网峰会
  • 哈尔滨做网站收费特定ip段访问网站代码
  • 哈尔滨高端品牌网站建设竭诚网络网站建设公司
  • 三项措施做好门户网站建设广州网站开发哪家好
  • 广州网站建设招标网站添加百度商桥
  • 建设一个功能简单的网站手机网站设计手机壳尺寸一览表
  • 淄博手机网站建设报价电商网站开发人员人数
  • 食品网站建设 网站定制开发外贸网站 模板
  • 制作网站要花多少钱如何三河市建设厅公示网站
  • cms建站流程天津网站建设方案外包
  • 缘魁上海网站建设有没有专门做策划的公司
  • 网站建设公司黄页北京高端品牌网站建设
  • 公司网站开发费用计入哪个科目长春网站开发公司
  • 做起点说网站的服务器多少钱建设网站之前都需要准备什么东西
  • 网站内容建设整改工作网站建设公司的网站
  • 网站图标怎么换展厅装修设计公司有
  • 怎么让网站绑定域名沛县网络营销是什么
  • 在英特尔上建设网站可选择的方案有wordpress分类目录进不去
  • 网站建设与管理难学吗进口跨境电商网站制作
  • 给网站做网站基本配置
  • 浙江省住房城乡建设厅网站检测软件定制