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中就显示不出来。
这是什么问题呢???

0

2个回答

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

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

你试试用activity级的context试试

0
qq_27999103
qq_27999103 getBaseContext()?这个我试过了也还是显示不出来。。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
三星手机Dialog不显示按钮的坑
Dialog按钮不显示
Alterdialog中不弹出软键盘原因分析及解决办法
相信很多人都做过自定义的alterdialog,但不知道有没有发现当alterdialog布局中有exittext的时候即使edittext获得焦点也不能弹出软键盘,是不是很操蛋,而将alterdialog换成dialog的时候就可以的弹出了。下面就去分析一下为什么会这样看一下alterdialog这个类,点击去就会看到头部注释上有这么一段话The AlertDialog class takes c
Dialog里面弹不出软键盘 软键盘不出现
Dialog里面弹不出软键盘软键盘不出现显自定义Dialog
alertDialog 自定义 圆角 无黑边问题
该alertDialog 解决了自定义过程中容易出现边角黑边无法去除等问题,代码简介易懂,类似IOS dialog风格.zip
高Android版本dialog显示问题
现象:在低版本的Android手机上自定义的Dialog能够正常的显示,但是在高版本上的时候就不能正常的显示了。 错误代码: val dialog = MyDialog(context) val contentView = LayoutInflater.from(_mActivity).inflate(R.layout.award_view, null) contentView.postDe...
Dialog对话框的使用 (progressDialog、AlertDialog、点击不消失、进度条)
Dialog对话框的使用 (progressDialog、AlertDialog、点击不消失、进度条) 具体可参考我文章:https://blog.csdn.net/qq_28056277/article/details/84591086
Dialog内容显示两行
Dialog的两行内容 “` AlertDialog.Builder builder =new AlertDialog.Builder(MainActivity.this); builder.setItems(new String[]{“拍摄”,”从相册选取”}, new DialogInterface.OnClickListener() { ...
解决Dialog在第二次打开时报错的问题
Dialog第二次打开报错是出现在自定义的Dialog中,Dialog在被第二次打开的时候其试图已经存在,而你再次打开它,Dialog会认为此视图已有了父容器而你还要为人家添加一个父容器,这样Dialog肯定不同意呀。解决方法: 在每次Show的时候,都重新LayoutInflater一次然后再次为Dialog设置setView,这样就好了。待解决: 也有很多人说这种解决方案太L
Android Dialog弹窗提示,在4.4.4和5.1中会默认显示Dialog的title
在项目中fragment用到Dialog做一个不带标题的提示,准确讲是一个功能的使用说明。在4.4.4和5.1中会默认显示空白title。 private void showProduceDialog() { Dialog dialog = new Dialog(getContext()); dialog.requestWindowFea
Dialog无法显示图片问题及解决方案
问题现象:    Dialog里的图片(控件为ImageView),显示不出来。 解决办法:    调用的activity需要继承自AppCompatActivity,而不是Activity。 原因:   经过debug发现,是AppCompatActivity的onCreate方法中执行了如下代码导致的差异,但真正原因待查。 AppCompatDelegate delegate ...
自定义dialog宽度全屏
AlertDialog.Builder dialog = new AlertDialog.Builder(UnbindBankCardActivity.this, R.style.Dialog_FS); View view = View.inflate(UnbindBankCardActivity.this, R.layout.view_chakanshilitupian_alertdialog,
dialog横竖屏切换不适配
dialog横竖屏切换不适配 工作中有一个出现个问题:横竖屏切换要求dialog宽填充屏幕 因为横竖屏切换会重新走activity的生命周期,所以可以在创建一个类继承activityprivate void modifyDialogStyle() { getWindow().setLayout( WindowManager.LayoutParams
Android dialog 去除虚拟按键
Android 部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下: 1、在 setContentView(R.layout.activity_main);之前添加 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  2、当用户划出虚拟按键后,自动再
[Android学习]对话框在android6.0以上版本不显示按钮文字
最近半个月又写点android了(时隔2年半) 事情是这样的.用Weex做的App 的对话框在某些手机上对话框能显示按钮,有些不能显示 如图 锁定问题 1)是否修改过对话框Native的对话框代码?是否修改过对话框调用Weex的JS代码? 2)哪些手机能再现?哪些不能? 3)能再现该问题的手机 Weex的Playground的代码是否正常运行?该正常运行代码能否在自己工
android使用MaterialDialog和AlertDialog弹框Timer倒计时的用法
安卓使用弹框做到倒计时的用法,分别使用MaterialDialog、AlertDialog来做了一个小demo
浅析Dialog不显示,isShowing()却返回true
首先看isShowing方法,返回一个布尔值mShowing /** * @return Whether the dialog is currently showing. */ public boolean isShowing() { return mShowing; } 而关闭对话框有三个方法,分别是cancel(),dismiss()
部分手机无法显示Dialog问题
在项目中有时候需要用到系统弹窗,即让当前dialog显示在所有视图之上,一般来说,设置Dialog的type即可,如下: dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);   android:name="android.permission.SYSTEM_ALERT_WI
Android轻松搞定Dialog提示动画效果
抽个中午的时间写一篇博客,想必大家现在正在午饭呢吧,深圳的天气真是变换无常,刚刚大雨倾盆,不一会就晴天高照。打球吗?约起来哇,哈哈。。 今天给大家带来一篇Dialog提示附加动画效果的功能。这种Dialog提示效果基本变成了每个App都必不可少功能。例如,退出提示,弹出分享框,App升级提示等等。。 其实在Android中实现提示功能由很多种方式:自定义Dialog,AlertDialog,自
个人遇到的自定义dialog中内容无法居中的问题
可能有点标题党了..在做一个横屏avtivity中弹出的自定义dialog时,发现一直无法居中,后来发现有点长的数据被屏幕截断了,想到可能是高度设置有问题,打断点一看果不其 然,我把dialog的高度设置为了屏幕的宽度,但其实横屏的时候,屏幕宽度就是竖屏的屏幕高度,无需做转换,直接将dialog的高度设为屏幕的高度即可
Android设置Dialog是否可隐藏
在Android开发中,经常需要用到提示框,一般对美观性要求不算高的都是直接用原生的Dialog或者Builder,再用自定义的布局设置Dialog显示的内容。 但在这种情况下,在点击negative Button或者positive Button的时候,程序会执行你在这两个Button设置的触发事件,然后dismiss掉Dialog。
android dialog的圆角不显示问题
//第一套代码 //控制代码 package com.myapp.mydialog; import com.myapp.myapptest.R; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.Window; public cl
android 自定义AlertDialog弹出键盘可以输入的
android 自定义AlertDialog弹出键盘可以输入的
dialog第一个消失后再显示第二个
逻辑 : 监听第一个dialog是否消失 -- setOnCancelListener AlertDialog.Builder updateDialog = new AlertDialog.Builder(mContext); updateDialog.setTitle("文字内容").setPositiveButton("右下角按钮内容", new DialogIn
有关dialog设置view无法居中的问题
今天在敲代码的时候发现给dialog设置自己的view的时候怎么都无法居中显示,永远排版到dialog的上方,代码如下 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(R.layout.quick_login_dialog); builder.setCance
自定义Dialog如何去除阴影
自定义Dialog 有时候,会有需求让我们自定义一个对话框提示相应的信息。遇到了一个小坑。分享给大家。 思路: 先创建一个自定义布局,布局可以随便写,然后通过调用 AlertDialog.Builer对象上的 ‘setView()将其添加到AlertDialog`。 默认情况下,自定义布局会填充对话框窗口,但 您 仍然可以使用 AlertDialog.Builder 方法来添加按钮
笔记:dialog渲染WebView不能显示
         Dialog 用来渲染WebView做视频广告,遇到了一个很奇怪的问题,WebView的js生效,但是WebView没有显示。如果先调用show()再加载webView的话就可以显示,但是广告做的是预加载,因此不能先show(),要把广告的内容加载完成再show.()。        最后我是这样解决问题的,先调用一次show(),再调用一次hide(),然后再加载内容,内容加...
带有CheckBox不在提醒的dialog
在开发中需要弹出dialog,有的需要有不在提醒的功能,这样的系统没有,只能自己自定义,下面就看一下我自己写的这个可以拿走直接用1:创建一个类继承dialogpublic class MyDialog extends Dialog { private Context context; private String title; private String confirmB...
自定义主题改变AlertDialog样式
通过自定义style改变framework原生AlertDialog样式,包括背景图片、按扭图片、标题样式、标题栏下方分割线颜色、按扭图片、按钮间分隔线等等。好多天的沤血作品,请大家勿喷。
Dialog 不显示
最近遇到一个dialog 不显示问题; 下载代码用了retrofit 框架 mActivity.runOnUiThread(new Runnable() { public void run() { HttpUtil httpUtil = new HttpUtil(); Map map = new HashMap(); map.put("URL", "16891/9EADA8BA0CE5
Android Dialog更改样式及显示位置
Android Dialog更改样式及显示位置 效果: http://blog.csdn.net/amazing_alex/article/details/23273387
Android Dialog 弹出 居右、居左、居中
Dialog或者Avtivity以Dialog形式弹出后,一般弹出默认是居中的。但是,我们有时需要它从右边弹出,一直居右。或者从左边弹出,一直居左。修改纯Dialog的弹出位置:Dialog dialog = getDialog(); Window window = dialog == null ? null : dialog.getWindow(); if (dialog != null && w
Android给dialog使用自定义布局时,布局内容无法完全显示的问题
上周进行开发时遇到了两次,给dialog设置自定义布局时,会出现布局中的某些内容无法显示的情况。现在暂时只能找到临时的解决方案,具体的原理以后再进行研究。 临时解决方案: 出现内容无法显示的情况,都是自定义布局的根布局使用了relativelayout导致的,将其替换为Linearlayout能够暂时解决这个问题。
弹出dialog时,隐藏navigation bar的方法
http://stackoverflow.com/questions/23520892/unable-to-hide-navigation-bar-during-alertdialog-logindialog(方法来源)
android中Dialog居中显示
//dialog 居中显示 Window window = dialog.getWindow(); if (dialog != null && window != null) { WindowManager.LayoutParams attr = window.getAttr...
【完美解决系列】Android在自定义Dialog中TextView内容显示不全的问题
在自定义Dialog中使用了TextView,但是发现内容一直显示不全的问题,代码完全没有问题。经过测试后发现了解决方法,就是在自定义的Dialog中使用TextView组件时,设置Android:layout_width不能使用wrap_content,如:<TextView android:id="@+id/tv_dialog_info" android:layo
关于自定义dialog不能左右全屏的解决办法
先贴代码,马克留用,免得以后自己还要找.... dialog_xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" a
Android-在子线程中显示Toast和Dialog
Android中有句话说,只能在主线程(UI线程)中更新UI,这是因为Android的主线程(UI线程)是不安全的。所以在子线程如果要显示Toast或者Dialog,我们需要通知主线程来显示 ,有两种方法可以解决此问题:
[安卓开发] 完美解决Dialog不能全屏
为什么布局设置了match_parent还是不能全屏呢?看dialog的show的源码:public void show() { if (mShowing) { if (mDecor != null) { if (mWindow.hasFeature(Window.FEATURE_ACTION_BAR)) {
Dialog出现页面布局错乱解决方法
WindowManager windowManager = getWindow().getWindowManager(); Display display = windowManager.getDefaultDisplay(); WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.width = (int
android studio 弹窗中文乱码
这种乱码并非编码上的乱码和gradle的乱码,这种乱码需在app Module的build.gradle中加入代码 android{     compileOptions.encoding=} 如此即可。