android 7.1.1 AlertDialog不显示

程序中自定义了一个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中就显示不出来。
这是什么问题呢???

2个回答

会不会在7.1.1上有权限问题呢

qq_27999103
qq_27999103 普通的alertDialog应该不会有什么权限吧,在manifests里我也加了SYSTEM_ALERT_WINDOW这个权限了。我试过先弹出一个对话框,在它的按钮事件里抛出异常,弹出的对话框能正常显示,抛出异常就不行了。。
大约 2 年之前 回复

你试试用activity级的context试试

qq_27999103
qq_27999103 getBaseContext()?这个我试过了也还是显示不出来。。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!