android 自定义全局未处理异常捕获器
2013-12-13 00:00
495 查看
摘要: android 自定义全局未处理异常捕获器
1:异常处理捕获类
二:设置全局Application
三:在androidManifest中配置全局
到此自定义捕获未处理异常结束!
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0
1:异常处理捕获类
package com.oa.main.common.tool; import android.content.Context; import android.util.Log; /** * 自定义全局未处理异常捕获器 * Created on 13-12-13. */ public class CrashHandler implements Thread.UncaughtExceptionHandler { private static CrashHandler instance; //单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例 private CrashHandler() { } public synchronized static CrashHandler getInstance() { //同步方法,以免单例多线程环境下出现异常 if (instance == null) { instance = new CrashHandler(); } return instance; } public void init(Context ctx) { //初始化,把当前对象设置成UncaughtExceptionHandler处理器 Thread.setDefaultUncaughtExceptionHandler(this); } public void uncaughtException(Thread thread, Throwable ex) { //当有未处理的异常发生时,就会来到这里。。 Log.d("----------------捕获异常-------------!", "uncaughtException, thread: " + thread + " name: " + thread.getName() + " id: " + thread.getId() + "exception: " + ex); String threadName = thread.getName(); //这里我们可以根据thread name来进行区别对待,同时,我们还可以把异常信息写入文件,以供后来分析。 // if ("sub1".equals(threadName)) { // } else if () { // } } }
二:设置全局Application
public class ApplicationTrans extends Application { @Override public void onCreate() { super.onCreate(); CrashHandler handler = CrashHandler.getInstance(); handler.init(getApplicationContext()); //在Appliction里面设置我们的异常处理器为UncaughtExceptionHandler处理器 } }
三:在androidManifest中配置全局
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/activityTheme" android:name=".common.entity.ApplicationTrans" android:debuggable="true">
到此自定义捕获未处理异常结束!
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0
相关文章推荐
- android 代码实现控件之间的间距
- 解決Linux下Android开发真机调试设备不被识别问题
- [Android]在代码里运行另一个程序的方法
- [软件咨询]WPS2012正式版已发布 金山Office移动版4.0发布
- Android笔记-Linux Kernel Ftrace (Function Trace)解析
- android USB如何修改VID具体实现
- Android Mouse实现过程详细笔记
- 深入Android Browser配置管理的详解
- Android Mms之:深入理解对话列表管理
- Android APP与媒体存储服务的交互
- android 多线程技术应用
- Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解
- Android数据类型之间相互转换系统介绍
- 通过Android trace文件分析死锁ANR实例过程
- Android实现左右滑动效果的方法详解
- Android 各国语言缩写及简称详细介绍
- Android 自动判断是电话,网址,EMAIL方法之Linkify的使用
- android IPC之binder通信机制
- Android应用开发中模拟按下HOME键的效果(实现代码)
- Android 读写文件方法汇总