2013-04-05 12 views
5

Wie kann ich meine ganze App in einfachen Worten stoppen? (alle Aktivitäten, Dienste, Threads usw. einfach alles) Die Callbacks zum Lebenszyklus (speziell onStop() und onDestroy()) sollten aufgerufen werden.Stoppen Sie eine App, indem Sie die Lifecycle-Rückrufe aufrufen

Google schlägt folgende mögliche Lösung:

  • töten den Prozess: aber dies würde den Lebenszyklus Rückrufe nicht nennen
  • und finish(); aber dies ist nur für eine Aktivität:

Aber ist es möglich, dieses Verfahren für den Zugriff von außen wie:

//Getting all activityies, how? 
//For each gotten activity 
AcitvityName.finish(); 
or via or via getParent().finish(); ? 

Dies half mir nicht: Best way to quit android app?

FD

+0

was versuchst du zu tun? Der Zurück-Knopf schließt eine App nach Standard – JRowan

+0

@JRowan nope. Es gibt kein Konzept zum "Schließen der App" auf Android –

+0

@WebnetMobile Bedeutet dies, dass es einfach nicht möglich ist? Ich dachte, es gäbe eine Methode ... – felixd

Antwort

2
@Override 
public void onPause() {   

     if(isFinishing()){ 
//code to finish() all activitys threads etc..... 
}    

    super.onPause(); 
} 

in onPause() können Sie nach isFinishing() überprüfen und wenn es fertig ist, geht es zu onDestroy(), so dass Sie etwas Code youd ausführen können wie

+0

Aber zuerst heißt das onStop() richtig? Warum brauche ich das? – felixd

+1

no onPause wird zuerst aufgerufen, und wenn entschieden wird, dass Ihre App heruntergefahren wird, können Sie überprüfen, ob (isFinishing()) – JRowan

1

Android nicht direkt Benutzer schließen Anwendung ermöglicht. Sie können es in den Hintergrund minimieren oder den Prozess direkt beenden.

Aber wenn Sie einige Rückrufe rufen und alle Ressourcen freigeben, wenn Benutzer Ihre Anwendung von Bildschirm entfernen - Sie folgendes tun kann:

Clearing Aktivität Stapel in onDestroy Methode (oder, wenn Sie in onBackPressed wünschen, onHomePressed) . Es muss onDestroy-Methoden in allen Entfernungsaktivitäten aufrufen, damit Sie erweiterte Ressourcen in der onDestroy-Methode der Aktivität freigeben können, die über Links verfügt.

Also wenn Benutzer von Ihrer Anwendung beenden - es wird seine Aktivitäten entfernen und alle Ressourcen freigeben.