2012-04-12 4 views
4

Ich habe den Code von here in meiner App verwendet, wenn ich auf "Abbrechen" -Option, die App nur minimiert, wenn ich lange drücken und halten Sie die Home-Taste und wählen Sie die App.Es zeigt das gleiche Bildschirm nicht der Splashscreen oder der übliche Weg, den die App startet - also nehme ich an, dass es mich nur zum Home-Bildschirm bringt. Ich suche nach einer Möglichkeit, die Haupttätigkeit komplett zu beenden.Exit gesamte App auf einmal

I sind die folgenden Verfahren versucht und es abgestürzt jedes Mal: ​​

  1. finish();
  2. mainactivity.class.finish();
  3. eine Absicht Öffnung, die systemexit()
  4. setresult() in der anderen Aktivitäten.
+0

Könnten Sie zeigen uns Ihren Code, der ausgeführt wird? Ich meine, wo versuchst du 'finish()' zu nennen und welche Fehler hast du davon? – WarrenFaith

+0

Warum versagt Ihr "finish()"? –

+0

Was ist Ihr logcachterror? –

Antwort

10

Nicht recommened aber immer noch können Sie diese verwenden. Gehen Sie besser mit dieser Lösung, falls Sie die App beenden müssen.

Nach meiner Meinung ist die beste Lösung, jede Aktivität in Ihrer App wie unten zu beenden.

Schritt1) eine statische Variable in der Hauptaktivität beibehalten sagen.

step2) auf click event einer Schaltfläche diese Variable auf true setzen.

mainactivity.isQuit = true; 
    finish(); 

step3) Und in jeder Aktivität Ihrer Anwendung haben, wie unten onrestart Methode ..

@Override 
     protected void onRestart() { 
     // TODO Auto-generated method stub 
     super.onRestart(); 
     if(mainactivity.isQuit) 
      finish(); 
    } 
-3

kann u alle Gewinde AsyncTask mit jeder Lauf Aktivität töten:

System.exit(0); 
+0

Ich benutze GPS und Internet daher drains viel Batterie.Ich habe den obigen Code versucht und es läuft immer noch im Hintergrund. –

+0

die wifi und gps drains batterie non-stop, so dass ich vorschlagen, diese beiden von den einstellungen zu deaktivieren, wenn sie nicht verwenden ... und Sie können GPS programmgesteuert – user987760

+0

ein- und ausschalten, wenn die System.exit (0); hat nicht für dich funktioniert, ich denke du musst deine Aktivität mit (this.finish();) dann System.exit (0) beenden; es funktioniert immer für mich ... – user987760

Verwandte Themen