Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS beenden wenn der Home-Button geklickt wird. (https://www.delphipraxis.net/182850-ios-beenden-wenn-der-home-button-geklickt-wird.html)

Kostas 21. Nov 2014 13:19

iOS beenden wenn der Home-Button geklickt wird.
 
Hallo zusammen,

wenn ich richtig informiert bin, wird eine iOS App nicht beendet sondern einfach nur über den Home-Button in den Hintergrund geschoben.
Das ist ein Problem. Meine Anwendung ist in mehrere Tabs organisiert. Eine Navigation innerhalb der Anwendung ist implementiert. Wenn
der Anwender nun im dritten Tab die Home-Taste klickt, würde ich gerne die App beenden damit er beim wieder starten der App
wieder am Anfang steht. Damit meine ich nicht den ersten Tab anwählen sondern die komplette App "rebootet" wird.


Hat jemand eine Idee?

Gruß Kostas

Sir Rufo 21. Nov 2014 13:22

AW: iOS beenden wenn der Home-Button geklickt wird.
 
Ja, wenn die Anwendung in den Hintergrund geht einfach einen Merker setzen.

Kommt die Anwendung wieder, dann anhand des Merkers reagieren, so als ob die Anwendung wieder startet.

Daniel 21. Nov 2014 13:26

AW: iOS beenden wenn der Home-Button geklickt wird.
 
Genau so.
Der Lebens-Zyklus einer App wird auf allen mobilen Geräten vom jeweiligen OS verwaltet und da sollte man auch nicht ohne Not eingreifen.
Du kannst über sog AppEvents mitbekommen, wenn die App in den Hintergrund rutscht bzw. wieder nach vorn geholt wird. Auf diese Events kannst Du reagieren und dem Anwender eine passende Darstellung liefern.

Sir Rufo 21. Nov 2014 13:35

AW: iOS beenden wenn der Home-Button geklickt wird.
 
Und wenn man ganz faul ist, dann einfach so
Delphi-Quellcode:
TForm1 = class( TForm )
private
  FData : TMyData;
  function GetData : TMyData;
  procedure ClearData;
protected
  property Data : TMyData read GetData;
end;

function TForm1.GetData : TMyData;
begin
  if not Assigned( FData ) then
    FData := TMyData.Create;
  Result := FData;
end;

procedure TForm1.ClearData;
begin
  FreeAndNil( FData );
end;
Wenn die Amnwendung in den Hintergrund tritt, dann einfach
Delphi-Quellcode:
ClearData
aufrufen und schwupps sind die Daten weg. Jeder erneute Zugriff auf die Eigenschaft
Delphi-Quellcode:
Data
erstellt eine Instanz oder liefert die vorhandene zurück.

Kostas 21. Nov 2014 14:29

AW: iOS beenden wenn der Home-Button geklickt wird.
 
Dankeschön zusammen,

das waren die richtigen Hinweise.
Ich habe ein Artikel gefunden http://blogs.embarcadero.com/pawelgl...13/09/30/40067 der genau das behandelt.
Perfekt, werde ich gleich einbauen.

Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 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