![]() |
Auslesen ob die App (Android/iOS im Vordergrund läuft
Wie kann man ermitteln, ob die App unter iOS und Android gerade im Vordergrund aktiv ist, oder im Hintergrund ?
Ich möchte nur eine Kommunikation aufbauen, wenn die App im Vordergrund ist und nicht wenn sie im "kürzlich verwendete Apps" ist. |
AW: Auslesen ob die App (Android/iOS im Vordergrund läuft
Hast du Mal getestet ob eine App im Hintergrund überhaupt was macht?
z.B. 1000ms Timer der dann immer eine Variable inkrementiert und anzeigt? Wird die weitergezahlt wenn die App in Hintergrund gerät? |
AW: Auslesen ob die App (Android/iOS im Vordergrund läuft
Zitat:
Code:
(nach
isRunningInForeground = getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)
![]() Ich arbeite nicht mit Multiplatform-Delphi, aber es sollte mit wenig Aufwand möglich sein das nach Delphi umzuschreiben. |
AW: Auslesen ob die App (Android/iOS im Vordergrund läuft
@TurboMagic: Ja es läuft weiter und incrementiert fröhlich den Zähler :-(
@mjustin: Danke für den Tip, ich werde mal schauen wie ich das in Delphi machen kann... |
AW: Auslesen ob die App (Android/iOS im Vordergrund läuft
Zitat:
![]() Dafür reicht normalerweise BecameActive und EnteredBackground oder WillBecomeInactive aus. |
AW: Auslesen ob die App (Android/iOS im Vordergrund läuft
Ich habe es jetzt so gelöst:
Code:
Scheint so korrekt zu funktionieren, vielleicht kann es ja mal jemand brauchen.
{* im uses Abschnitt *}
uses FMX.Platform; {im TForm-Abschnitt *} procedure FormCreate(Sender: TObject); private AppIsEnabled: Boolean; function HandleAppEvent( AAppEvent : TApplicationEvent; AContext : TObject ) : Boolean; [* im Implementation - Abschnitt *} procedure TfrmMain.FormCreate(Sender: TObject); var SvcEvents : IFMXApplicationEventService; begin if TPlatformServices.Current.SupportsPlatformService ( IFMXApplicationEventService, IInterface( SvcEvents ) ) then SvcEvents.SetApplicationEventHandler( HandleAppEvent ); end; function TfrmMain.HandleAppEvent( AAppEvent : TApplicationEvent; AContext : TObject ) : Boolean; begin case AAppEvent of TApplicationEvent.FinishedLaunching : ; TApplicationEvent.BecameActive : AppIsEnabledEnabled := True; TApplicationEvent.WillBecomeInactive : ; TApplicationEvent.EnteredBackground : AppIsEnabled := False; TApplicationEvent.WillBecomeForeground : ; TApplicationEvent.WillTerminate : ; TApplicationEvent.LowMemory : ; TApplicationEvent.TimeChange : ; TApplicationEvent.OpenURL : ; end; Result := True; end; Lieben Dank für Eure Tipps! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz