获取Crash信息
来源:互联网 发布:淘宝双11外围有效果吗 编辑:程序博客网 时间:2024/06/07 13:35
通过Thread.setDefaultUncaughtExceptionHandler( );可以修改系统默认的异常处理器,从而捕获到崩溃信息
以下给出一个简单的例子来说明:
CrashHandler.java
package com.qunar.yuzhiyun.crashhandler;import android.util.Log;/** * 自定义系统异常处理器 * Created by yuzhiyun on 17/7/27. */public class CrashHandler implements Thread.UncaughtExceptionHandler { private static CrashHandler sInstance=new CrashHandler(); /** * 当系统发生未被捕获的异常后,会回调这个函数 * @param thread * @param throwable */ @Override public void uncaughtException(Thread thread, Throwable throwable) { Log.e("CrashHandler","I catch an uncaughtException"); } public static CrashHandler getsInstance() { return sInstance; } /** * 把本身设置为Thread的默认异常处理器 */ public void init(){ Thread.setDefaultUncaughtExceptionHandler(this); }}
当然在uncaughtException 中,我们应该把崩溃信息写进sd卡,然后寻找合适的时机上传错误信息到我们的服务器
App.java
package com.qunar.yuzhiyun.crashhandler;import android.app.Application;/** * Created by yuzhiyun on 17/7/27. */public class App extends Application { @Override public void onCreate() { super.onCreate(); CrashHandler crashHandler=CrashHandler.getsInstance(); crashHandler.init(); }}
MainActivity.java
package com.qunar.yuzhiyun.crashhandler;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { throw new RuntimeException(" I throw a exception"); } }); }}
关于开源crash信息收集框架
https://github.com/acra
acra(Application Crash Report For Android)的原理就是文章开头描述的,只是更加细化
阅读全文
0 0
- 获取Crash信息、分包
- 获取Crash信息
- 使用CrashHandler获取crash信息
- Android和IOS获取crash信息
- Android APP 获取crash异常信息
- Android开发中获取crash信息
- 远程获取应用程序的crash信息
- Android 获取应用Crash信息的方法
- Android中获取应用的crash信息
- Xcode中的Crash信息获取和定位
- 通过CrashHandler获取应用的crash信息
- Android使用UncaughtExceptionHandler获取crash信息
- 使用CrashHandler获取应用的crash信息
- 使用CrashHandler来获取应用的Crash信息
- Android程序Crash时如何获取异常信息
- android 快速开发三、 获取应用的crash信息
- 获取Android崩溃crash信息并写入日志
- 使用CrashHandler来获取应用的oom crash信息
- java加锁的意义
- Java疯狂讲义读书笔记第十章
- 数据挖掘系列(3)--关联规则评价
- 新建maven项目
- C语言实现动态顺序表
- 获取Crash信息
- 格雷码的算法实现
- Red and Black
- 锚伪类的四种伪类
- PHP语言编写的微信一次性订阅消息
- http post
- ubuntu16.04链接华科校园网客户端使用方法
- 单链表的头插法与尾插法
- [linux]:linux shell编程之产生真随机数(利用时间轴的办法)