How to get app resume state on iOS and Android?
Asked Answered
B

2

5

Is there something that can be checked from code point of view when an App is resumed on iOS and Android?

e.g. when an app gets minimized and restored (app is still running in background of device).

Bertrando answered 13/7, 2016 at 12:51 Comment(0)
M
5

You need to use IFMXApplicationEventService to register a callback where the application will be notified:

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;

More info about the event types here.

A good article on the subject by Paweł Głowacki (for Delphi XE5, but still useful).

Montague answered 13/7, 2016 at 17:38 Comment(0)
S
3

In iOS You can add flag in

applicationDidEnterBackground

in appDelegate to know if the user enters the background and,

applicationDidBecomeActive

to know that the user returns to the app from background

Sheronsherourd answered 13/7, 2016 at 12:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.