Android UncaughtExceptionHandler实例化AlertDialog中断

时间:2011-04-01 22:03:53

标签: android exception uncaught-exception

正如标题所说,我的自定义应用程序类中设置了UncaughtExceptionHandler,在我的应用程序启动时将其设置为默认值。

但是,虽然我没有在文档中看到您无法使用DialogMyApplication.this实例化getApplicationContext()。当我尝试这样做时,我得到了一个

  
    

WindowManager $ BadTokenException ...

  

我需要另一种选择。我曾想过要做一个新的活动来弥补这一点,但宁愿让它成为AlertDialog

有没有办法可以从UncaughtExceptionHandler课程中获取MyApplication的有效背景?

1 个答案:

答案 0 :(得分:8)

  

我已经读过你无法使用MyApplication.this或getApplicationContext来实例化一个Dialog

正确。 Application上下文对于构建UI并不是特别有用。

  

我曾考虑过制作一项新活动来弥补这一点,但宁愿让它成为一个AlertDialog。

在这种情况下,AlertDialog是不可能的。对于初学者来说,只有一个活动可以打开一个对话框,并且你的所有活动都没有运行(例如,在后台服务中崩溃)并且是有效的(例如,你有一个,但它是崩溃的那个)。

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