onPostResume之后的DialogFragment显示导致IllegalStateException:无法执行此操作

时间:2013-03-27 19:04:11

标签: android android-dialogfragment illegalstateexception android-support-library

我有一个应用程序,它显示不同的DialogFragments以响应不同的操作(主要是异步操作)。我正在使用支持库的最新版本(通过SDK Manager不断更新)

所有操作都会在回调中抛出Intent

意图在BroadcastReceiver中处理,在onPostResume回调中注册(并在onPause中未注册)。

在捕获意图后立即显示对话框:

if(Constants.SHOW_DIALOG_INTENT.equals(intent.getAction()) {
    showDialog();
}

通过show(FragmentManager, String)方法

显示对话框

所以问题是:为什么我从某些用户那里得到IllegalStateException(应用程序被10k +用户使用,但到目前为止只有10-15个异常被捕获)。我不知道是什么导致这种情况,除了某种竞争条件(ActivityshowDialog()和实际DialogFragment.show()来电之间{{1}}

我可以做些什么来避免这种情况(据我所知,0.1%的错误是可以接受的,但我只是想找到问题)?

0 个答案:

没有答案