利用Thread.UncaughtExceptionHandler 获取异常,并对异常做出处理:
application代码:
public class TestApplication extends Application{
public void onCreate(){
TestException testException = TestException.getInstance();
testException.init(getApplicationContext());
}
}
exception代码:
public class TestException implements UncaughtExceptionHandler {
//获取application 对象;
private Context mContext;
private Thread.UncaughtExceptionHandler defaultExceptionHandler;
//单例声明TestException;
private static TestException testException;
private TestException(){
}
public static TestException getInstance(){
if(testException == null){
testException = new TestException ();
}
return testException ;
}
@Override
public void uncaughtException(Thread thread, Throwable exception) {
// TODO Auto-generated method stub
if(defaultExceptionHandler != null){
Log.e("tag", "exception >>>>>>>"+exception.getLocalizedMessage());
//将异常抛出,则应用会弹出异常对话框.这里先注释掉
// defaultExceptionHandler.uncaughtException(thread, exception);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(10);
}
}
public void init(Context context) {
mContext = context;
defaultExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
}
}
在TestManifest.xml中配置:
<application
android:name="com.test.TestApplication"
android:label="@string/app_name" >
分享到:
相关推荐
Android 捕获全局异常处理,崩溃前弹出提示框,错误信息保存至本地文件或发送邮件,或上传至后台服务器。
Android捕获全局异常并写日志保存到sd卡,捕获异常消息后输出这个消息,可避免APP强制退出,抛出NullPointException玩玩哈,捕获全局异常是因为有的异常我们捕获不到,捕获时我们采用同步方法,以免单例多线程环境下...
Android捕获异常处理——UncaughtExceptionHandler
android开发,异常处理,捕获异常上传到bugly,捕获异常库module化了。
处理异常崩溃的问题,可以捕捉非捕获异常,并打印到日志文件中
android 全局异常处理 继承java.lang中的UncaughtExceptionHandler 的构造方法uncaughtException 来捕获异常
android全局异常捕获,全局捕获异常消息示例,当程序发生Uncaught异常的时候,有该类来接管程序,并记录错误日志,使用系统默认的UncaughtException处理类,实现自定义错误处理,收集错误信息 发送错误报告等操作,还...
Android 异常捕获以及上传到服务器
Android全局异常捕获CrashHandler
ClassCastException 强制转换类失败异常 IllegalArgumentException 方法参数类型传入异常 IllegalStateException 非法的设备状态异常 NullPointException 传说中的空指针异常,如果一个对象不存在,你有对这个对象...
1.实现了应用级的未捕获异常处理,方便应用异常退出的错误定位,该功能可方便地进行重用; 2.实现了apk版本的检测及升级功能,简单修改之后就能用于其它apk的检测升级; 3.压缩包中的version.xml 是存放于服务器的...
ExceptionRecordManager用来将发生且未被捕获的异常保存本地以方便在设备未接入时追踪BUG,也可稍作修改上传服务器。 PermissionManager为单例类,一般在继承Application的自定义类重写onCreate(),调用如下代码: ...
Android开发中异常捕获,异常信息捕获后存储在sd文件中,可跟踪。
主要为大家介绍了Android全局异常的捕获处理,为什么要进行捕获处理,如何进行捕获处理,想要了解的朋友可以参考一下
AndroidCrash全局崩溃异常捕获,友好的提示页面,收集手机信息+捕获异常信息,并上传到服务器,带重启APP功能。
在Android中有的未知的Bug可能在测试中没有及时发现,导致用户在使用时出现程序奔溃,出现用户...android提供了Thread.UncaughtExceptionHandler接口,可以通过实现这个接口,在全局中捕获异常并处理,上传到服务器。
android 异常捕捉和日志文件保存
Android 全局异常捕获 今天就来说说作为程序猿的我们每天都会遇到的东西bug,出bug不可怕可怕的是没有出bug时的堆栈信息,那么对于...1.实现我们自己的异常处理类 public class CrashHandler implements Thread.Uncaught
详细介绍了android程序中的全局异常处理,示例代码。
android开发过程中,捕获全局异常,然后关闭程序