在线程遇到未捕获的异常后如何显示对话框?

时间:2009-11-27 16:16:19

标签: android exception

我想检测我的Android应用中发生uncaught exception的时间。

一旦检测到,我想显示一个确认对话框

如何显示此确认对话框?当我尝试各种技术时,UI没有响应,似乎被冻结了。

我的代码回应了这个:

new CatchAllExceptionHandler(this) is my custom handler
Thread.setDefaultUncaughtExceptionHandler(new CatchAllExceptionHandler(this));

我尝试了CatchAllExceptionHandler的这两种实现:

  1. 显示警告对话框
  2. 启动一项活动,然后在onCreate
  3. 之后显示警告对话框

    这两种方法都失败了。

    所以我的问题是:如何让确认对话框正确显示?

1 个答案:

答案 0 :(得分:2)

您可能正在尝试在非UI线程上执行UI操作。使用任何可用的技术(HandlerHandler#postView#postActivity#runOnUiThreadAsyncTask#onPostExecute)来安排您的UI工作在UI线程上完成