本文整理自网络,侵删。
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都支持这些服务,但请记住,仍有一些移动设备的版本确实很旧,
相关阅读 >>
更多相关阅读请进入《Delphi》频道 >>