2015-03-03 97 views
-5

在活動的onCreate方法,我在運行此:重新啓動活動上uncaughtException

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { 
      @Override 
      public void uncaughtException(Thread thread, Throwable ex) { 
       Intent intent = getIntent(); 
       finish(); 
       startActivity(intent); 
      } 
     }); 

我所試圖做的是,在這個活動時,我想重新啓動它和以前清晰意圖,用這些代碼行,我最終有一個空白的屏幕和應用程序在後臺運行,無論哪種方式,我必須重新啓動它或從多任務屏幕殺死它,這不是用戶友好的。有任何想法嗎?謝謝!

編輯:是否也可以在這裏建立一個警告對話框並顯示一些消息?也許就OK按下,重定向會發生

+0

謝謝你的建議,這是治標不治本。我不明白downvotes雖然:)我問的東西是在API中,我想了解如何使用它的一些信息。我不是要求其他可能的建議,因爲我知道這不是最好的方法 – funkycookie 2015-03-03 10:15:12

+0

同時,我只是要你報告可憐的答案和附加到它的0參數:)謝謝 – funkycookie 2015-03-03 10:20:47

回答

0

以供將來參考,這並獲得成功對我來說:

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { 
      @Override 
      public void uncaughtException(Thread thread, Throwable ex) { 

       Intent crashedIntent = new Intent(MainDrawer.this, MainDrawer.class); 
       crashedIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
       crashedIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(crashedIntent); 

       System.exit(0); 
      } 
     }); 
+0

這是什麼MainDrawer?我試着用我的ErrorScreenActivity,我得到'錯誤:不是封閉類:ErrorScreenActivity' – 2017-10-27 14:20:45