//程序事件服务操作 var FMXApplicationEventService: IFMXApplicationEventService; begin if TPlatformServices.Current.SupportsPlatformService (IFMXApplicationEventService, IInterface(FMXApplicationEventService)) then FMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent) else flag := false; end; function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject) : boolean; begin if flag = false then exit; case AAppEvent of TApplicationEvent.aeEnteredBackground: begin //当程序后台运行了 end; end; Result := true; end;
//退出键操作 procedure TPForm.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkHardwareBack then begin {$IFDEF ANDROID} MessageDlg(‘确认退出吗?‘, System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgD*n.mbYes, //System.UITypes.TMsgD*n.mbNo, System.UITypes.TMsgD*n.mbCancel ], 0, System.UITypes.TMsgD*n.mbCancel, procedure(const AResult: TModalResult) begin if AResult = mrYES then MainActivity.finish; { 退出程序 } // use FMX.Platform.Android end); {$ENDIF ANDROID} //close; Key := 0; exit; end; end;