程序中自定义了一个CrashHandler implement Thread.UncaughtException的类,
在类中实现捕获程序未处理的异常,
初始界面很简单,是一个textview的helloworld字段,
设置textview字段的onClickListener时间抛出一个nullPointException事件,
crashHandler处理代码如下:
//省略前面获取错误信息代码
new Thread() {
@Override
public void run() {
Looper.prepare();
Toast.makeText(mContext, sbs.toString(), Toast.LENGTH_LONG).show();
showDialog(mContext,ex);
Looper.loop();
}
}.start();
mContext变量是在一个CrashApplication extends Application类中初始化时获取的getApplicationContext();
showDialog()函数中就是一个显示AlertDialog的代码。
当注释掉showDialog时,之前的Toast是可以显示的,开启showDialog之后就不出现了。
在android 4.4中程序可以显示出dialog,但是在7.1.1中就显示不出来。
这是什么问题呢???