【问题标题】:How to get app resume state on iOS and Android?如何在 iOS 和 Android 上获取应用恢复状态?
【发布时间】:2016-07-13 12:51:14
【问题描述】:

当应用在 iOSAndroid 上恢复时,是否可以从代码角度检查某些内容?

例如当应用程序最小化和恢复时(应用程序仍在设备后台运行)。

【问题讨论】:

    标签: android ios delphi delphi-xe8


    【解决方案1】:

    您需要使用IFMXApplicationEventService 注册一个回调,应用程序将收到通知:

    uses FMX.Types, FMX.Platform;
    
    function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;
    begin
      case AAppEvent of
        TApplicationEvent.FinishedLaunching:    Log.d('Launched.');
        TApplicationEvent.BecameActive:         Log.d('Gained focus.');
        TApplicationEvent.EnteredBackground:    Log.d('Now running in background.');
        TApplicationEvent.WillBecomeForeground: Log.d('Restoring from background.');
        TApplicationEvent.WillBecomeInactive:   Log.d('Going to lose focus.');
        TApplicationEvent.WillTerminate:        Log.d('Quitting the application.');
        TApplicationEvent.LowMemory:            Log.d('Device running out of memory.');
    
        // iOS only
        TApplicationEvent.TimeChange:           Log.d('Significant change in time.');
        TApplicationEvent.OpenURL:              Log.d('Request to open an URL.');
      end;
    
      Result := True;
    end;
    
    procedure TForm11.FormCreate(Sender: TObject);
    var
      aFMXApplicationEventService: IFMXApplicationEventService;
    begin
      if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService,
        IInterface(aFMXApplicationEventService))
      then
        aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent)
      else
        Log.d('Application Event Service not supported.');
    end;
    

    有关事件类型的更多信息here

    good articlePaweł Głowacki 的主题(对于 Delphi XE5,但仍然有用)。

    【讨论】:

      【解决方案2】:

      在 iOS 中可以添加标志

      applicationDidEnterBackground
      

      在appDelegate中知道用户是否进入后台,

      applicationDidBecomeActive
      

      知道用户从后台返回到应用程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多