繼承接口UncaughtExceptionHandler,並重寫裡面的uncaughtException(Thread thread, Throwable ex)方法,這樣就可以監測應用程序的異常情況,做相應的處理:
public class myCustomExceptionHandler implements UncaughtExceptionHandler {
private UncaughtExceptionHandler defaultUEH;
public myCustomExceptionHandler() {
this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
}
@Override
public void uncaughtException(Thread thread, Throwable ex) {
// TODO Auto-generated method stub
System.out.println("應用程序異常");
/**
* 處理異常,保存異常log或向服務器發送異常報告
*/
defaultUEH.uncaughtException(thread, ex);;
}
}
然後在Activity中加入 Thread.setDefaultUncaughtExceptionHandler(new myCustomExceptionHandler());即可。
作者:Koon.LY