Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Programm beenden abfangen

Das Thema "Programm beenden abfangen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 12.06.2009, 10:46   #1 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Programm beenden abfangen

Hallo, mit dem Zurück-Pfeil beendet sich das Programm und sagt das es unerwartet geschlossen wurde oder so. Ich habe die onDestroy() Methode implementiert und dort
Code:
System.exit(0);
eingefügt. Nun wird das Programm ordnungsgemäß beendet hoffe ich. Zumindest kommt die Fehlermeldung nicht mehr. Als nächsten Schritt wollte ich gerne die Frage stellen ob man das auch will und darauf reagieren. Dazu folgendes:

Code:
    public void onDestroy()
    {
        showDialog(PROGRAM_CLOSE_ID);
    }
Code:
    protected Dialog onCreateDialog(int id) 
    {
        switch (id) 
        {
            case PROGRAM_CLOSE_ID: return new AlertDialog.Builder(main.this)
                                    .setIcon(R.drawable.irgendeinicon)
                                    .setTitle("Beenden?")
                                    .setPositiveButton("Ok",new DialogInterface.OnClickListener() 
                                    {
                                        public void onClick(DialogInterface dialog,int whichButton)
                                        {        
                                            System.exit(0);
                                        }
                                     }).setNegativeButton("Abbrechen",new DialogInterface.OnClickListener() 
                                     {
                                            public void onClick(DialogInterface dialog,int whichButton) 
                                            {
                                                //do nothing next time
                                            }
                                      }).create();
        }
        return null;
    }
Wenn ich das über einen ButtonClick aufrufe funktioniert das, in der onDestroy Methode leider nicht. Ich hab mal debuggt und habe festgestellt das er dort erst viel später hinkommt, also wenn das Programm schon gar nicht mehr aktiv ist. Kann man da was gegen tun, oder gibt es einen anderen Weg? MfG
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 21:36   #2 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Programm beenden abfangen

Was meinst Du mit Programm? Activity oder eine beliebige Komponente einer Anwendung? Was ist das Ziel?

Normalerweise möchte das System wirklich das beenden, was das System beenden möchte, da würde ich eher nicht reinpfuschen...

Friedger
friedger ist offline   Mit Zitat antworten
Alt 13.06.2009, 12:45   #3 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Programm beenden abfangen

Jop android macht da sehr viel selbst, sag uns bitte genauer was du machen moechtest. Dann gibts eher nen guten tipp
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist gerade online   Mit Zitat antworten
Alt 22.06.2009, 14:13   #4 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Programm beenden abfangen

Hallo ich möchte eine Activity beenden. Stellt sich die Frage ob Android die Activity wirklich beendet oder nur in den Hintergrund schiebt. Ich wollte an der Stelle eine Frage stellen z.B. Ob der Benutzer das wirklich beenden will oder so. MfG
joschika77 ist offline   Mit Zitat antworten
Alt 22.06.2009, 14:39   #5 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Programm beenden abfangen

wenn der benuzter nur den home button drückt, wird nichts wirklich beendet.

außer der entwickler regelt das irgendwie in seiner app.

ob der benutzer das wirklich beenden will, liegt 1) am benutzer und 2) an der app. manchmal ist es notwenig, dass alles sauber beendet wird.

vor allem ist es aber notwendig, das keine programmleichen auf dem händy noch weiterlaufen, obwohl es niemand mehr benötigt. so sauber sollte das schon programmiert sein
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist gerade online   Mit Zitat antworten
Alt 24.06.2009, 12:09   #6 (permalink)
Android Guru
 
Benutzerbild von enjoy_android

Registriert seit: 10.12.2008
Beiträge: 1.346
Abgegebene Danke: 64
Erhielt 99 Danke für 56 Beiträge
Standard AW: Programm beenden abfangen

Naja um dem Android Paradigma zu folgen sollte man keine App "von Hand" beenden. Was anderes ist es wenn es um Background Services geht, diese sollten zum einem dem Nutzer klar und deutlich angezeigt werden. (der Nutzer muss wissen das die App etwas im Hintergrund tut) Außerdem muss der Nutzer die Möglichkeit haben den Service oder Receiver per Settings zu deaktivieren.

Alles andere übernimmt Android für dich. Und es funktioniert auch richtig gut. Das einzige was immer wieder Probleme macht sind Apps die im Hintergrund laufen und nicht deaktivierbar sind.
__________________
G1, Nexus One, Nexus S, Galaxy Nexus - Vanilla Android = Android!
enjoy_android ist offline   Mit Zitat antworten
Alt 24.06.2009, 12:16   #7 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Programm beenden abfangen

man sollte dem benutzer serwohl eine möglichkeit geben die app wirklich sauber zu beenden.

auch wenn android sowas anbietet, warum sollte die app noch weiter im speicher liegen, obwohl sie niemand mehr haben will. das ist unlogisch und einfach nur faul von den entwicklern sich auf "android wird schon machen" auszureden
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist gerade online   Mit Zitat antworten
Alt 24.06.2009, 12:36   #8 (permalink)
Ehrenmitglied
 
Benutzerbild von zx128

Registriert seit: 23.01.2009
Beiträge: 1.148
Abgegebene Danke: 1
Erhielt 78 Danke für 24 Beiträge
Standard AW: Programm beenden abfangen

Dieser Diskussion fehlt IMHO eine vernünftige Grundlage.

Die wäre hier z.B. Activity | Android Developers

Die andere Frage lautet: was will einer erreichen?

Die soll zuerst beantwortet werden.

Erst dann kann man darüber reden, ob es sinnvoll ist dem Benutzer eine Möglichkeit zu geben, die Activity (Das Wort "App" ist zu ungenau für Entwickler-Ecke hier) mit finish() zu beenden.
zx128 ist offline   Mit Zitat antworten
Alt 24.06.2009, 17:13   #9 (permalink)
Android Guru
 
Benutzerbild von enjoy_android

Registriert seit: 10.12.2008
Beiträge: 1.346
Abgegebene Danke: 64
Erhielt 99 Danke für 56 Beiträge
Standard AW: Programm beenden abfangen

Zitat:
auch wenn android sowas anbietet, warum sollte die app noch weiter im speicher liegen, obwohl sie niemand mehr haben will. das ist unlogisch und einfach nur faul von den entwicklern sich auf "android wird schon machen" auszureden
Naja es geht darum die Mechnismen (die dafür vorgesehen sind) zu nutzen. Jeder Google Developer wird dir empfehlen diese zu nutzen und davon abraten eine Anwendung "händisch" zu beenden. Android kümmert sich um die Ressourcen Verteilung (pausieren, beende, starten etc. der Activities/Services etc.). Das heisst natürlich nicht das ein Anwendungsentwickler verschwenderisch mit den Ressourcen umgehen sollte. Jedenfalls findet man in keiner offiziellen Anwendung eine Möglichkeit diese "komplett" aus dem Speicher zu werfen und damit zu beenden. Das ganze hat absolut nichts mit Faulheit zu tun.
__________________
G1, Nexus One, Nexus S, Galaxy Nexus - Vanilla Android = Android!
enjoy_android ist offline   Mit Zitat antworten
Alt 24.06.2009, 17:50   #10 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Programm beenden abfangen

Zitat:
Zitat von enjoy_android Beitrag anzeigen
Jedenfalls findet man in keiner offiziellen Anwendung eine Möglichkeit diese "komplett" aus dem Speicher zu werfen und damit zu beenden. Das ganze hat absolut nichts mit Faulheit zu tun.
ok damit hast du recht.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist gerade online   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht





Du liest gerade: "Programm beenden abfangen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.