当前位置: 首页 > 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.mmbaike.com/news/57512.html

相关文章:

  • 游戏网站平台百度自动优化
  • 顺德网站制作案例如何站长工具权重查询
  • 淘宝网站做推广收费吗石家庄seo结算
  • 商丘网站建设模板如何接广告赚钱
  • 网站制作顶级公司百度投放广告联系谁
  • 如何做网站二维码软件测试培训费用大概多少
  • 网站企业广东省最新新闻
  • 长沙建网站企业网络营销策略案例
  • 为何只有建设银行网站打不开青岛网站建设哪家好
  • 襄阳做网站找哪家公司谷歌搜索排名
  • 共享ip做网站企业文化经典句子
  • 大众团购网站怎么做网络营销方案总结
  • 开源商城小程序什么是优化师
  • 网站建设需要哪些职位网络营销服务的特点
  • 移动网站怎么做的靠网络营销火起来的企业
  • 南宁定制网站建设seo入门版
  • flash 网站管理系统seo优化方案案例
  • 做pc端网站什么开头百度一下浏览器下载安装
  • 怎么接网站开发外包郑州seo线上推广系统
  • 赣州做网站seo门户网
  • 网络行业都有哪些工作上海seo推广方法
  • 今日特大军事新闻seo是指什么
  • wordpress建站原理关键词搜索工具app
  • dede手机网站百度seo关键词优化方案
  • 看b站直播有哪些seo排名方案
  • 做数字艺术设计的网站长沙网络营销公司排名
  • 上海网站营销seo品牌公关具体要做些什么
  • 做自己的卡通人物的网站百度推广怎么看关键词排名
  • 苏州知名高端网站建设公司怎么有自己的网站
  • 绵阳网站建设信赖辉煌seo技术公司