因此,我正试图通过黑客攻击快速绑定我正在发布的another question中描述的问题。
我有一个由我的主要活动启动的子活动,它也可以通过调用finishActivity(requestCode)的主活动来停止。但是,在finishActivity调用之后,子活动始终返回0 - 即使我只在用户按下后退按钮时在子活动中设置了该结果。我试图通过在子活动onResume方法中调用setResult(RESULT_OK)来作弊,但这似乎没有区别;
另外,由于某种原因,在onActivityResults进入之前需要很长时间。这是正常的吗?
感谢您的任何建议!
答案 0 :(得分:0)
观察同样的行为。在调用finishActivity()的主类中,我必须记住我强制关闭的Activity的ID,因此当它返回onActivityResult时我可以区分两种情况:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_CANCELED) {
switch (requestCode) {
case OUTSOURCED_INTENT:
{
if(mForcedClosingOfOutsourcedActivity)
{
//Handles case of forced closing
}
else
{
//Handles case of normal closing from Activity
}
}
break;
}
}
}
当然,在活动结束前等待这么长时间是不行的。