FLAG_ACTIVITY_CLEAR_TOP和onActivityResult

Kai*_*Kai 8 android

我的活动堆栈是ABC,C位于顶部.使用startActivityForResult()启动B.

现在,在C中,它启动A并使用以下代码清除顶部:

        finish();

        intent = new Intent(this, A.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我的问题是,在执行上面的代码之后,是否会调用A中的onActivityResult()?我预计它会,因为B在C开始A并且清除顶部后被销毁.但是,我的测试代码显示A中的onActivityResult()未被调用.我很迷惑.有人可以帮忙吗?

谢谢.

Var*_*run 3

在您的代码中,您将从 ACTIVITY C 启动一个新的 Activity A。这不会调用 onActivityResult。这仅仅是因为一个新的 Activity A启动了仅当您完成()您的活动 B 时,才会调用 onActivityResult() 。

如果这还不清楚的话,我希望有人可以在答案中添加更多内容。