這種方法在網上已經有了部分介紹,但是大部分人不知道怎麼取消Force Close的對話框。「通過重寫Android應用程序的Application基類自己實現 Thread.UncaughtExceptionHandler接口的uncaughtException方法是可以避免出現FC窗口的,用戶感覺直接退出了一樣」。這是網上能找到的說明,這段話讓人看了摸不著頭腦,大部分人不知道怎麼重寫Application基類並實現接口。廢話不多說,直接上代碼! 首先需要在onCreate中添加此句代碼:Thread.setDefaultUncaughtExceptionHandler(new AntrouApp());表明出現異常由自己來處理。 接下來重寫異常處理類
public class AntrouApp extends Application implements Thread.UncaughtExceptionHandler { @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); } @Override public void uncaughtException(Thread thread, Throwable ex) { android.os.Process.killProcess(android.os.Process.myPid()); Thread.getDefaultUncaughtExceptionHandler().uncaughtException(thread, ex); //若沒有處理,則按照系統自己的處理方式處理 } }
此方法會強制結束所有的Activity和service,當然也可以在service裡進行,達到後台強制結束任務的目的。在Activity結束後,系統會回到最近為onpause狀態的Activity。
refer from:
http://www.bangchui.org/simple/?t15896.html
沒有留言:
張貼留言