2012-06-05 17 views
7

Sto tentando di riavviare l'app quando si verifica un arresto anomalo in Android utilizzando Thread.UncaughtExceptionHandler. Posso riavviare l'app con lo stack di attività corrente come nuovo processo? Se sì, come posso farlo?Android Riavvio dell'applicazione

risposta

1

Un metodo è di ignorare il metodo onPause nell'attività per terminare l'applicazione. Come questo:

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

Il codice sopra termina il rito attività corrispondente ?? Ho usato il seguente codice per uccidere il processo android.os.Process.killProcess (android.os.Process.myPid()); – PgmFreek

+0

Ah, quindi stai provando ad uccidere il processo e avviare di nuovo l'app subito dopo che il processo è stato interrotto? –

+0

sì ... Dopo aver ucciso il processo, ho usato il gestore degli allarmi per avviare l'app ... Ma la mia domanda è: posso avviare l'app con lo stack delle attività del precedente processo? – PgmFreek

0

Per quanto ne so, una volta si uccide il processo, il garbage collector verrà eseguito, e tutti gli oggetti che appartengono alla tua app, che consuma la memoria otterrà liberata, cioè tutti gli oggetti avranno valore nullo. Quindi, l'avvio dell'app con il precedente processo "traccia dello stack delle attività non è possibile.

+0

Posso ottenere lo stack di attività del processo corrente prima di ucciderlo? – PgmFreek

+1

Vedi questo link, potrebbe aiutarti: http://stackoverflow.com/questions/10043246/retrieving-the-navigation-history-for-the-current-running-application – Shrikant

Problemi correlati