Android開發完成後異常捕獲
阿新 • • 發佈:2018-11-18
在android裡面往往有很多錯誤比如Android裡面的異常報錯 這些異常是不允許給客戶看的應為客戶看不懂
只需要自己捕獲就好: 看圖
比如:這種報錯 沒有任何意義 只需要自己開的懂 該操作只需要直接閃退就可以了
程式碼如下:
public class MyAppLication extends Application { //開天地方法,老母子方法 @Override public void onCreate() { Thread.currentThread().setUncaughtExceptionHandler(new MyExceptionHander()); super.onCreate(); } private class MyExceptionHander implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread thread, Throwable ex) { /// Logger.i("MobileSafeApplication", "發生了異常,但是被哥捕獲了.."); //並不能把異常消滅掉,只是在應用程式關掉前,來一個留遺囑的事件 try { Field[] fields = Build.class.getDeclaredFields(); StringBuffer sb = new StringBuffer(); for(Field field:fields){ String value = field.get(null).toString(); String name = field.getName(); sb.append(name); sb.append(":"); sb.append(value); sb.append("\n"); } FileOutputStream out = new FileOutputStream("/mnt/sdcard/error.log"); StringWriter wr = new StringWriter(); PrintWriter err = new PrintWriter(wr); ex.printStackTrace(err); String errorlog = wr.toString(); sb.append(errorlog); out.write(sb.toString().getBytes()); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } //?專注自殺,早死早超生 android.os.Process.killProcess(android.os.Process.myPid()); } } }
該程式碼就是在Application的子類實現閃退功能 需要在 AndroidManifest.xml 裡面Application裡面配置 裡面的name屬性