我收到了来自4.2用户的应用程序崩溃(我的应用程序支持3.1+)。崩溃是由于IllegalStateException在show()
中调用onActivityResult()
。文档说这个方法应该在onResume()之前调用,但究竟是什么时候?在我看来,它在国家恢复之前被召唤。我发现这个bug报告,其中最后一条评论说实际上可以在onStart()
,onRestart()
和onResume()
之前发生,有人可以帮我理解吗?我可以将片段移开但是如果onActivityResult()
可以在onStart()
之前调用,我就无法在其中使用任何已恢复的变量,因为我不确定是否恢复发生了。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
......
if (cd == null)
cd = ConnectingDialog.findOrCreate(getFragmentManager());
cd.show(getFragmentManager(), ConnectingDialog.TAG);
.......
}