我知道这与其他帖子类似,但是这从来没有真正回答过。嵌套的startActivityForResult()没有返回到上一个Activity(s)
它使用Activity而不是Fragments,并且没有使用ActivityGroup 或Tabs。
我的MainActivity调用LocationActivity与startActivityForResult 后来与startActivityForResult, 但当DialogActivity退出调用DialogActivity和使用的setResult并完成 的onActivityResult在LocationActivity不会被调用,它会 一路回onActivityResult在MainActivity。
所有的活动属性都是“空白”的,noHistory默认为false。
(MainActivity)
Intent intent = new Intent(getApplicationContext(), LocationActivity.class);
startActivityForResult(intent, Constants.LOCATION_ACTIVITY);
@Override
protected void onActivityResult(int iRequestCode, int iResultCode, Intent intentData)
{
super.onActivityResult(iRequestCode, iResultCode, intentData);
}
(LocationActivity)
Intent intent = new Intent(getApplicationContext(), DialogActivity.class);
startActivityForResult(intent, Constants.DIALOG_ACTIVITY);
@Override
protected void onActivityResult(int iRequestCode, int iResultCode, Intent intentData)
{
super.onActivityResult(iRequestCode, iResultCode, intentData);
}
(DialogActivity)
Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();
所以我需要做什么改变来获得LocationActivity 的onActivityResult的DialogActivity退出后到被调用,而不是onActivityResult 在MainActivity?而且,在我退出LocationActivity之后,我想要在MainActivity中调用onActivityResult的 以最终得到调用。
谢谢!
你可以从清单中添加这些活动声明吗? – Asimaruk
您有没有看过这个讨论? http://stackoverflow.com/questions/9689001/activity-started-with-startactivityforresult-not-returning-to-calling-activity?rq=1 –
是的,我只是做了。我改变了上下文使用活动名称,并没有工作,我没有任何活动属性设置为使用noHistory true – user1572522