Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android-App beenden. (https://www.delphipraxis.net/176523-android-app-beenden.html)

Schorschi5566 12. Sep 2013 06:06

Android-App beenden.
 
Hallo DP,

ich habe mir gestern mal die Trial-XE5 installiert und ein paar erste Gehversuche mit Android-Apps begonnen (Demos, "Hello world" und so Sachen 8-)).

Ein simples "Close" in einem Button1OnClick schließt aber nicht die App sondern lässt sie geöffnet. Habe ich da was verpasst?

Mit "Halt" kann man sie natürlich abschießen, aber das ist sicher nicht im Sinne des Erfinders, oder?

Weiß schon jemand, wie man das hinbekommt?

Grüße,
Uwe

jaenicke 12. Sep 2013 06:11

AW: Android-App beenden.
 
Gar nicht. Eine App darf sich nicht selbst beenden. Das darf nur der Benutzer.

Es wäre ja auch schlimm, wenn eine App einfach vom Bildschirm verschwindet. Da musst du von der Desktopprogrammierung umdenken.

v2afrank 12. Sep 2013 06:21

AW: Android-App beenden.
 
Ist das denn wirklich so ?
Bei den meisten Anwendungen gebe ich Dir Recht. Aber zum Beispiel mein Map Factor Navigator hat einen Close Button. Alleine weil die Anwendung das Ausschalten des Bildschirms verhindert.

weisswe 12. Sep 2013 06:36

AW: Android-App beenden.
 
Bei iOS is es definitiv so, das du keine Anwendung beenden darfst.
Steht auch in den "iOS Human Interface Guidelines".
Solche Anwendungen werden beim App Store Review zurückgewiesen.
Wie es bei Android ist, weis ich nicht - könnte aber ähnlich sein.

v2afrank 12. Sep 2013 06:40

AW: Android-App beenden.
 
Ich wollte mit meinem Kommentar eher darauf hindeuten dass es bei Android sehr wohl möglich ist. Auch wenn es in den meisten sicherlich nicht nötig ist.
Darum ist Uwes Frage durchasus berechtigt und würde mich auch interessieren.

Union 12. Sep 2013 07:20

AW: Android-App beenden.
 
Hast Du es mal mit
Delphi-Quellcode:
Application.Terminate
versucht?

CCRDude 12. Sep 2013 07:42

AW: Android-App beenden.
 
Unter iOS hat Waze das bis kürzlich gemacht, jetzt haben Sie nur noch einen Sleep-Button. Damit ist die Navigation unterbrochen und der Bildschirm bleibt auch nicht mehr dauerhaft an - eine nette Alternative, finde ich.

v2afrank 12. Sep 2013 08:39

AW: Android-App beenden.
 
Application.Terminate funktioniert nicht. Gerade getestet

jaenicke 12. Sep 2013 10:48

AW: Android-App beenden.
 
Zitat:

Zitat von Schorschi5566 (Beitrag 1228044)
Mit "Halt" kann man sie natürlich abschießen, aber das ist sicher nicht im Sinne des Erfinders, oder?

Wenn das unter Android geht, wird das evtl. in Delphi noch gefixt, ich würde mich nicht darauf verlassen, dass das so bleibt.

Was gibt es denn eigentlich für einen Grund, warum du das tun möchtest?

Union 12. Sep 2013 10:54

AW: Android-App beenden.
 
Zitat:

Zitat von jaenicke (Beitrag 1228119)
Zitat:

Zitat von Schorschi5566 (Beitrag 1228044)
Mit "Halt" kann man sie natürlich abschießen, aber das ist sicher nicht im Sinne des Erfinders, oder?

Wenn das unter Android geht, wird das evtl. in Delphi noch gefixt, ich würde mich nicht darauf verlassen, dass das so bleibt.

Was gibt es denn eigentlich für einen Grund, warum du das tun möchtest?

Es könnte EINEN geben, nämlich falls man die App beim Drücken des Home-Buttons auch tatsächlich beenden will. Sofort und ohne Tombstoning.

Der schöne Günther 12. Sep 2013 10:55

AW: Android-App beenden.
 
Dann gibt es doch bestimmt irgendwelche "Umgebungsvariablen" bzw. Systemaufrufe wie "Ich möchte nicht Multitasking-fähig sein!".

Hätte ich zumindest jetzt geraten.

Union 12. Sep 2013 10:56

AW: Android-App beenden.
 
Diese (Versuche) gibts. Sind aber auskommentiert, da wohl noch nicht so ganz fertig.

Schorschi5566 12. Sep 2013 19:34

AW: Android-App beenden.
 
Hallo zusammen,

es gibt eigentlich keinen besonderen Grund, warum ich das möchte.

Es ist möglich, dass man Apps beendet, also würde ich gern den Weg kennen (habe schon einige Apps gesehen, die im Menü den Punkt "Beenden" haben, der das auch leistet). :-D

Meiner Meinung kann es immer Situationen geben, wo es sinnvoll sein kann, die App durch sich selbst zu beenden.

"Halt" beendet die App auch nicht sauber, wie ich inzwischen festgestellt habe. Sie verschwindet nur vom Display und dümpelt dann halbtot im Hintergrund rum.

Im Grunde würde ich beide Methoden gerne kennen. Also die App in den Hintergrund zu schicken und auch wirklich zu beenden.

Viele Grüße,
Uwe

P.S.: Close tut einfach gar nichts. Wenigstens verschwinden sollte die App, dachte ich halt.

greenmile 13. Sep 2013 07:45

AW: Android-App beenden.
 
Wenn ich in einem (fast x-beliebigen) Android Programm x-mal die Zurücktaste drücke, dann werde ich in den meisten Fällen gefragt ob ich die Anwendung wirklich beenden will. Laut Taskmanager (und der kann ja faken :)) ist das Programm dann auch weg. Das mache ich sehr oft (also nicht einfach "Home" drücken und nix machen), dann erspare ich mir das "Speicher aufräumen". Sollte ein Programm denn nicht prinzipiell damit umgehen können? Falls ja gibt es sicherlich eine Funktion, wir kennen sie nur nicht. Vielleicht hat Matthias eine Antwort?

MEissing 13. Sep 2013 08:33

AW: Android-App beenden.
 
Android selbst sieht es vor, daß Anwendungen so (im Hintergrund) weiterlaufen. Das OS kümmert sich selbst um den Lebenszyklus der App.

Ein Blick auf FMX.Platform.Android.pas könnte aber helfen :-) Siehe dort
procedure TPlatformAndroid.Terminate;

Da muss man aber noch mehr machen
http://stackoverflow.com/a/16494762

greenmile 13. Sep 2013 08:53

AW: Android-App beenden.
 
Danke!

v2afrank 23. Sep 2013 12:29

AW: Android-App beenden.
 
Im Embarcadero Forum wird ansonsten noch Halt; vorgeschlagen

Mavarik 23. Sep 2013 12:35

AW: Android-App beenden.
 
Zitat:

Zitat von CCRDude (Beitrag 1228067)
Unter iOS hat Waze das bis kürzlich gemacht, jetzt haben Sie nur noch einen Sleep-Button. Damit ist die Navigation unterbrochen und der Bildschirm bleibt auch nicht mehr dauerhaft an - eine nette Alternative, finde ich.

Waze hat immer noch beenden drin!
Zum Glück den die App braucht viel Strom...

Mavarik

CCRDude 24. Sep 2013 06:47

AW: Android-App beenden.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Mavarik (Beitrag 1229600)
Zitat:

Zitat von CCRDude (Beitrag 1228067)
Unter iOS hat Waze das bis kürzlich gemacht, jetzt haben Sie nur noch einen Sleep-Button.

Waze hat immer noch beenden drin!
Zum Glück den die App braucht viel Strom...

Siehe Anhang - wo bitte steht da noch was von Beenden? Mach doch mal ein Update :)

Außerdem ist die Bezeichung Sleep doch wirklich schon so gut wie selbsterklärend - natürlich schläfert die die stromfressenden Funktionen ein. Da braucht man also keinesfalls das "Glück", noch eine alte Version mit Beenden zu haben - auch wenn man dem Betriebssystemskonzept folgt, kann man so erreichen, was der Benutzer will!

greenmile 3. Jun 2014 13:56

AW: Android-App beenden.
 
Beenden funktioniert damit (danke ME), allerdings habe ich das selbe Problem wie http://stackoverflow.com/questions/7...4762#16494762; ich kann die App dann nicht neu starten. Ich verstehe allerdings den Teil " and continue with the event loop until android_app->destroyRequested" nicht.


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