Delphi Android 拨打电话

Delphi Android电话
市场上有许多类型的移动设备应用程序,尤其是将来的应用程序。
我最近遇到的挑战之一是,一位客户问我,从他的应用程序中,用户可以拨打公司电话,也可以拨打电话。
在第一种情况下,我发现拨打电话需要CALL_PHONE权限,这是一个危险的权限(因为它可以通过拨打电话产生费用),因此需要Application用户的显式权限。(我们通过上面的链接向您展示了如何请求)
然后,该主题得以简化,因为Delphi为我们提供了一个处理Phone,FMX.PhoneDialer的单元。
电话示例
在下面的示例中,我们提出一个问题,以便用户知道将要进行呼叫,如果用户回答“是”,则进行呼叫。
Uses
  FMX.PhoneDialer;
 
private
  { Private declarations }
  PhoneDialerService: IFMXPhoneDialerService; // Servicio Phone Dialer
 
procedure PhoneCall;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXDialogServiceASync, IInterface(ASyncService)) then
  begin
    ASyncService.MessageDialogAsync(“要打电话吗?”, TMsgDlgType.mtConfirmation,
      [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], TMsgDlgBtn.mbNo, 0,
      procedure(const AResult: TModalResult)
      begin
        case AResult of
          mrYES:
            begin
              if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, IInterface(PhoneDialerService)) then
                PhoneDialerService.Call(“13500000000”)
              else
                ShowMessage(“不支持的电话.”);
            end;
        end;
      end);
  end;
end;
请注意:如果您看到前面的示例,则在使用PhoneDialerService.Call方法(”13500000000″)进行呼叫之前,我们将检查Android版本是否支持该服务,并在TPlatformServices.Current.SupportsPlatformService所在行中对其进行检查(IFMXPhoneDialerService,IInterface(PhoneDialerService))然后。
我们知道,所有新版本的Android都支持这些服务,但请记住,仍有一些移动设备的版本确实很旧,
THE END
文章版权归作者所有,未经允许请勿转载。
点赞6赞赏
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片