具有意图的Android startActivityForResult并等待用户对意图启动的其他活动的对话片段的响应

时间:2014-07-21 22:00:11

标签: android android-intent android-dialogfragment

我使用intent从另一个活动的片段开始一个活动(活动A)。 活动A有一个简短的游戏,然后是一个对话框(对话框碎片),询问用户是否想要保存结果。

//code from the fragment
int requestCode = 100;
Intent i = new Intent(getActivity(), CoordinationTest.class);
i.putExtra("requestCode", requestCode);
startActivityForResult(i,requestCode);

但是,当对话框出现之前活动A完成后,会回到另一个活动的上一个片段。

//code in the activity that is called by the intent

stopDialog.show(getFragmentManager(), "StopDialog");

if(getIntent().getExtras() != null ) {
    int requestCode = getIntent().getExtras().getInt("requestCode");
    if(requestCode == REQUEST_CODE_SCAT) {
        setResult(RESULT_CODE_OK);
        finish();
    }
}

我该如何解决这个问题?我希望在它返回上一个带有结果的活动之前有对话框。

我尝试重写onDismiss()方法,以便我可以等到对话框被解除,但它没有工作。

谢谢!

0 个答案:

没有答案