package com.numob.david.util;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.lang.Thread.UncaughtExceptionHandler;import java.util.Date;import android.os.Environment;import android.util.Log;/** * 全局处理异常. * */public class CrashHandler implements UncaughtExceptionHandler {    /** CrashHandler实例 */    private static CrashHandler instance;    /** 获取CrashHandler实例 ,单例模式*/    public static CrashHandler getInstance() {        if (instance == null) {            instance = new CrashHandler();        }        return instance;    }    @Override    public void uncaughtException(Thread arg0, Throwable arg1) {//        ScreenManager.getScreenManager().popActivity(Pay.activity);//         arg0.stop();//         arg0.destroy();        String logdir ;    if(Environment.getExternalStorageDirectory()!=null){    logdir = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + "snda"+File.separator+"log" ;            File file = new File(logdir);boolean mkSuccess;if (!file.isDirectory()) {mkSuccess = file.mkdirs();if (!mkSuccess) {mkSuccess = file.mkdirs();}}try {FileWriter fw = new FileWriter(logdir+File.separator+"error.log",true);fw.write(new Date()+"\n");                StackTraceElement[] stackTrace = arg1.getStackTrace();                fw.write(arg1.getMessage() + "\n");                for (int i = 0; i < stackTrace.length; i++) {                    fw.write("file:" + stackTrace[i].getFileName() + " class:" + stackTrace[i].getClassName()                            + " method:" + stackTrace[i].getMethodName() + " line:" + stackTrace[i].getLineNumber()                            + "\n");                }fw.write("\n");fw.close();} catch (IOException e) {Log.e("crash handler", "load file failed...", e.getCause());}    }    arg1.printStackTrace();        android.os.Process.killProcess(android.os.Process.myPid());     }}
  


Activity或是Application中加入这样的代码

CrashHandler crashHandler = CrashHandler.getInstance();crashHandler.init(getApplicationContext());


今天只做简单介绍了。


更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. Android实现复制粘贴功能
  3. Android动态添加Fragment
  4. Android(安卓)从网上获取图片
  5. android 确认对话框实例
  6. android studio   Listview简单实例
  7. 获取android所有联系人信息
  8. Android(安卓)WIFI 操作
  9. Android获取系统当前时区

随机推荐

  1. 关于Android(安卓)Genymotion 运行DDMS报
  2. 为何Android普通APP可以执行私有数据中的
  3. 2020年最新阿里、字节、腾讯、京东等一线
  4. Android(安卓)WebView设置代理及账号密码
  5. 史上最优美的Android原生UI框架XUI使用指
  6. 扩大攻击层面:React Native Android应用程
  7. 该出来了吧!2021 年 适合3—5年Android(安
  8. android教你怎么轻松实现手机推送功能,一
  9. android 动画一 (帧动画FrameAnimation)
  10. 理清 Jetpack 这些知识点后,我面试顺利入