2012-06-05 9 views
7

Ich versuche, die App neu zu starten, wenn der Absturz bei Android auftritt mit Thread.UncaughtExceptionHandler. Kann ich die App mit dem aktuellen Aktivitätenstapel als neuen Prozess neu starten? Wenn ja, wie kann ich es tun?Android Neustart der Anwendung

Antwort

1

Eine Methode besteht darin, die onPause-Methode in der Aktivität zu überschreiben, um die App zu beenden. Wie folgt aus:

public class MyActivity extends Activity { 
    @Override 
    public void onPause() { 
     finish(); 
    } 
+0

Der obige Code beendet die entsprechende Aktivität Ritus ?? Ich habe den folgenden Code verwendet, um den Prozess zu beenden android.os.Process.killProcess (android.os.Process.myPid()); – PgmFreek

+0

Ah, also versuchst du, den Prozess zu beenden und die App sofort wieder zu starten, nachdem der Prozess beendet wurde? –

+0

ja ... Nachdem ich den Prozess beendet habe, habe ich den Alarmmanager benutzt, um die App zu starten ... Aber meine Frage ist, kann ich die App mit dem Aktivitätsstack des vorherigen Prozesses starten? – PgmFreek

0

Soweit ich weiß, Wenn Sie Ihren Prozess töten, der Garbage Collector läuft, und alle Objekte, die zu Ihrer Anwendung gehört, die Speicher erhalten befreit verbraucht, dh alle Objekte haben Nullwert Daher ist es nicht möglich, die App mit dem Aktivitäts-Stack-Trace des vorherigen Prozesses zu starten.

+0

Kann ich den Aktivitäts-Stack des aktuellen Prozesses abrufen, bevor ich ihn erledige? – PgmFreek

+1

Bitte beachten Sie diesen Link, es könnte Ihnen helfen: http://stackoverflow.com/questions/10043246/retrieving-the-navigation-history-for-the-current-running-application – Shrikant

Verwandte Themen