2012-06-05 4 views
7

Я пытаюсь перезапустить приложение, когда авария происходит в android, используя Thread.UncaughtExceptionHandler. Могу ли я перезапустить приложение с текущим стеком активности в качестве нового процесса? Если да, то как я могу это сделать?Android Перезагрузка приложения

ответ

1

Один из способов - переопределить метод onPause в действии, чтобы убить приложение. Как это:

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

Приведенный выше код завершает соответствующий ритуал деятельности ??? Я использовал следующий код, чтобы убить процесс android.os.Process.killProcess (android.os.Process.myPid()); – PgmFreek

+0

Итак, вы пытаетесь убить процесс и запустить приложение снова после того, как процесс был убит? –

+0

yes ... После убийства процесса я использовал диспетчер аварийных сигналов, чтобы запустить приложение ... Но мой вопрос в том, можно ли запустить приложение с стеком активности предыдущего процесса? – PgmFreek

0

Насколько я знаю, как только вы убить процесс, сборщик мусора будет работать, и все объекты, которые принадлежат к вашему приложению, которое потребляет память получит освободила, что все объекты будут иметь нулевое значение. Таким образом, запуск приложения с предыдущей трассировкой цикла процесса невозможен.

+0

Могу ли я получить стек активности текущего процесса, прежде чем его убить? – PgmFreek

+1

Пожалуйста, просмотрите эту ссылку, это может помочь вам: http://stackoverflow.com/questions/10043246/retrieving-the-navigation-history-for-the-current-running-application – Shrikant

Смежные вопросы