Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实例化AlertDialog的Android UncaughtExceptionHandler中断_Android_Exception_Uncaught Exception - Fatal编程技术网

实例化AlertDialog的Android UncaughtExceptionHandler中断

实例化AlertDialog的Android UncaughtExceptionHandler中断,android,exception,uncaught-exception,Android,Exception,Uncaught Exception,正如标题所说,我在自定义应用程序类中设置了一个UncaughtExceptionHandler,该类在应用程序启动时被设置为默认值 但是,虽然文档中没有提到,但我已经读到,您不能使用MyApplication.this或getApplicationContext()实例化对话框。当我试着去做的时候,我得到了一个 WindowManager$BadTokenException 我需要一个替代方案。我曾想过制作一个新的活动来弥补这一点,但我更希望它是一个AlertDialog 是否有一种方法可以从M

正如标题所说,我在自定义应用程序类中设置了一个
UncaughtExceptionHandler
,该类在应用程序启动时被设置为默认值

但是,虽然文档中没有提到,但我已经读到,您不能使用
MyApplication.this
getApplicationContext()
实例化
对话框。当我试着去做的时候,我得到了一个

WindowManager$BadTokenException

我需要一个替代方案。我曾想过制作一个新的活动来弥补这一点,但我更希望它是一个
AlertDialog

是否有一种方法可以从
MyApplication
类内部获取我的
UncaughtExceptionHandler
的有效上下文

我已经了解到,您不能使用MyApplication.this或getApplicationContext实例化对话框

对。应用程序上下文对于构建UI不是特别有用

我曾想过做一个新的活动来弥补这一点,但我宁愿它是一个AlertDialog

在这种情况下,
警报对话框
是不可能的。对于初学者,只有一个活动可以打开对话框,并且您的任何活动都可能正在运行(例如,后台服务崩溃)且无效(例如,您有一个活动,但它是崩溃的活动)


编辑:修复了前一段以消除混淆

您能推荐一个替代方案吗?我希望测试此产品的客户能够在出现异常时报告反馈。我要找的是一个全局未捕获异常钩子,它会询问他们是否要向我们发送报告。@Tom Fobear:对不起,我刚刚意识到我的回答有点过于宽泛。你可以很好地开始一项活动;你就是不能弹出你自己的对话框。使用以对话为主题的活动,您应该可以。记住,你的背景线程应该有他们自己的沉默的异常处理程序,因为你不想在无处的地方弹出活动。太棒了,这正是我需要的所有信息。谢谢。@Commonware:当试图从应用程序中注册的未捕获的ExceptionHandler启动活动时,我收到AndroidRuntimeException