1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. Vermeer, 08.03.2010 #1
    Vermeer

    Vermeer Threadstarter Neuer Benutzer

    Hi, kurze Frage:
    mit finish() kann ich ja eine activity beende, aber wie beende ich die gesamte App (mit mehreren activities)?

    Gruß
    Vermeer
     
  2. SeraphimSerapis, 08.03.2010 #2
    SeraphimSerapis

    SeraphimSerapis Android-Guru

    du könntest in jeder activity folgendes machen:

    Klasse Beispielname:
    Code:
    public static Beispielname bsp;
    onCreate(..) {
       ...
       bsp = this;
    }
    Und dann dort, wo du deinen Ausstiegspunkt hast einfach:
    Code:
    try {
       Beispielname.bsp.finish();
    } catch(...) {...}
    Und das eben für jede Klasse.

    Gruß Tim
     
  3. swordi, 08.03.2010 #3
    swordi

    swordi Gewerbliches Mitglied

    hmm ein einfach System.exit(0) würde wohl auch reichen denke ich
     
  4. SeraphimSerapis, 08.03.2010 #4
    SeraphimSerapis

    SeraphimSerapis Android-Guru

    führt bei mir auch gerne mal zu nem fc, auch mit try und catch.
     
  5. Vermeer, 08.03.2010 #5
    Vermeer

    Vermeer Threadstarter Neuer Benutzer


    Aber genau das schließt doch nur meine aktuelle activity, aber doch nicht alle, oder?
     
  6. SirMArtin, 08.03.2010 #6
    SirMArtin

    SirMArtin freier Samsungsupporter

    Ihhh. :eek::eek:

    Dann lieber beim onCreate die Klasse in einer Registry registrieren und diese Beim Ausstiegspunkt aufrufen.

    z.B. so:
    Registry:
    Code:
    public class ActivityRegistry {
      private static List<Activity> _activities;
    
      public static void register(Activity activity) {
        if(_activities == null) {
          _activities = new ArrayList<Activity>();
        }
        _activities.add(activity);
      }
    
      public static void finishAll() {
        for (Activity activity : _activities) {
          activity.finish();
        }
      }
    }
    
    in jeder Activity dann:
    Code:
    .... void onCreate() {
      ActivityRegistry.register(this);
    }
    
     
    pyretta, TIMAH14 und Vermeer gefällt das.
  7. SeraphimSerapis, 08.03.2010 #7
    SeraphimSerapis

    SeraphimSerapis Android-Guru

    Das war ein quick and dirty Beispiel und nicht die Lösung aller Lösungen (welche bekanntlich 42 ist).
    Im Endeffekt tut deine Lösung ja auch nichts anderes, nur schöner :D
     
  8. SirMArtin, 08.03.2010 #8
    SirMArtin

    SirMArtin freier Samsungsupporter

    Das ist der wichtig Punkt... :p :D

    Im Ernst. Ich hab nicht nachgeschaut, ob es eine bessere Lösung zum Beenden von Apps gibt. Ich wollte Dir auf keinen Fall auf den Schlips treten - falls es Dir jetzt so vorkam.

    Zum Technischen:
    Dein Vorschlag oben funktioniert im Prinzip genauso. NUR: Musst Du immer an jedem Punkt alle Activities pflegen. Außerdem rufst Du die statische Methode auf jeder Activity auf, auch wenn sie nicht gestartet war. Die Registry übernimmt das für Dich. Außerdem ist die Lösung generisch und sollte recht einfach bei einer neuen Activity nutzbar sein. Man muss nicht bei jeder neuen Activity daran denken auch den Ausstiegspunkt anzupassen.

    Generell sollte es aber hoffentlich eine Methode ähnlich wie System.exit(0) nur in Schön geben. Einen Intent z.B. der das Herunterfahren einer App veranlasst.
    Auf der anderen Seite könnte es ja auch sein, dass es garnicht vorgesehen ist, da ja Android die Verwaltung der Ressourcen komplett übernimmt. Auch die Kontrolle über den Lebenszyklus... und eine App zu beenden wäre ja ein Eingriff in den Lebenszyklus und damit in die Hoheit vom Android System...

    Fragen über Fragen...

    Viele Grüße, Martin

    p.s.: meine Lösung oben ist ungetestet und nur "aus dem Handgelenk" geschrieben...
     
    Zuletzt bearbeitet: 08.03.2010
  9. SeraphimSerapis, 08.03.2010 #9
    SeraphimSerapis

    SeraphimSerapis Android-Guru

    Sollte funktionieren - habe es zwar auch nicht mit deinem getestet, aber mein Weg geht, und dann sollte deiner erst recht gehen.

    Es gibt zur Zeit noch keinen "richtigen" Weg eine App komplett zu beenden, da das nicht vorgesehen ist - eigentlich haushaltet Android ja selbst alles und würde die Activity von sich aus killen, wenn sie "stört".

    Viele Grüße,
    Tim
     
  10. swordi, 08.03.2010 #10
    swordi

    swordi Gewerbliches Mitglied

    naja - ich habe keine activities die irgendwo ungewollt im hintergrund sind. von daher kann ich ein system.exit(0) ganz einfach machen. ohne dass sich irgendwer aufregt,

    oder hat da jemand was dagegen?
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung Freitag um 23:01 Uhr
[OFFEN] App Leitfaden gesucht! Android App Entwicklung Dienstag um 21:17 Uhr
[OFFEN] Welches Intent erzeugt der Klick im Homescreen auf das Icon einer App? Android App Entwicklung Dienstag um 13:59 Uhr
[OFFEN] Logdateien der eigenen App Android App Entwicklung 15.06.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[Meinung] Spezielle App für Mittelstand erstellen (lassen) Android App Entwicklung 23.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] *.viivo kann keiner App zugeordnet werden - MANIFEST.XML ? Android App Entwicklung 19.05.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017

Users found this page by searching for:

  1. android app beenden code

    ,
  2. java app beenden

    ,
  3. android studio programm beenden

    ,
  4. android app beenden eclipse,
  5. android developer app komplett beenden
Du betrachtest das Thema "Wie die komplette app beenden?" im Forum "Android App Entwicklung",