Android--收集日记

本文介绍了一个自定义的Android应用程序类SkyApplicatopnext,它覆盖了onCreate方法以设置默认的未捕获异常处理器。通过SkyUncaughtExceptionHandler可以捕捉到应用程序中未被捕获的异常,并将异常信息输出到控制台及写入外部存储的缓存日志文件中,最后结束进程。
摘要由CSDN通过智能技术生成
package com.example.styles;

import java.io.File;
import java.io.OutputStream;
import java.io.PrintStream;
import java.lang.Thread.UncaughtExceptionHandler;

import android.app.Application;
import android.os.Environment;

public class SkyApplicatopn extends Application {

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();

        Thread.setDefaultUncaughtExceptionHandler(new SkyUncaughtExceptionHandler());
    }


    @SuppressWarnings("unused")
    private class SkyUncaughtExceptionHandler implements UncaughtExceptionHandler {
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
              System.out.println("异常:"+ex.toString());
             try {
                File file=new File(Environment.getExternalStorageDirectory(),"cache.log");
                PrintStream err=new PrintStream(file);
                ex.printStackTrace(err);
                err.flush();
                err.close();
            } catch (Exception e) {
             e.printStackTrace();
            }
            /**
             * 干掉自己
             */
            android.os.Process.killProcess(android.os.Process.myPid());
        }

    }
    @Override
    public void onTerminate() {
        // TODO Auto-generated method stub
        super.onTerminate();
    }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值