在没有完成调用意图的情况下返回时获取IllegalStateException

时间:2012-12-04 07:20:43

标签: android-intent android-fragments android-lifecycle illegalstateexception

在我的应用程序中,我有一个viewpager内部和活动。

从其中一个片段中,点按一下按钮,我发出了一个意图,即使用intent.ACTION_VIEW

来查看拨打电话的拨号框

它适用于大多数设备,包括2.3.54.0.84.1,但在LG Optimus 4.0.3 (L5)中,它要求用户在{{1}中进行选择对话框中的}和Message个动作。如果我按下通话按钮,然后按返回按钮,则表示正常。但是如果我按下后退按钮而没有选择任何一个,那么应用程序就会崩溃,例外情况

  

java.lang.IllegalStateException:之后无法执行此操作   的onSaveInstanceState

如果没有片段存在,相同的意图代码在LG Optimus中正常工作。

我尝试修复类似的错误,但它们无法正常工作。

我尝试使用Call

提交片段

我也尝试在我的活动的saveInstanceState

中使用此代码
commitAllowingStateLoss()

有人可以帮我吗?

编辑:

错误日志:

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE");
        super.onSaveInstanceState(outState);
    }

2 个答案:

答案 0 :(得分:0)

我找到了解决此问题的方法。

我尝试检查exit status以及删除savedInstanceState中的超级调用。

super.onSaveInstanceState( savedInstanceState );

我提交的片段允许状态丢失,因为我的应用程序正在退出。

我尝试将我的应用EXIT STATUS设为false。

现在正在检查onBackpress()中的退出状态,它运行正常!

感谢POST这帮助我找到解决方案。即使是对该答案的评论也是有帮助的。

答案 1 :(得分:0)

如果你有ProgressDialog就停止它并添加一些测试:if(progressDialog!= null&& progressDialog.isShowing()){stopProgressBarDialog(); }