SecondActivity 完成后不会调用 onActivityResult()

Cha*_*Cha 5 android android-intent onactivityresult

我在 FirstActivity 上调用 SecondActivity。请看下面:

    Intent intent = new Intent(this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivityForResult(intent, 1);
Run Code Online (Sandbox Code Playgroud)

在我的 SecondActivity 上,我完成了其特定屏幕并将结果设置为 RESULT_OK

    activity.setResult(Activity.RESULT_OK);
    activity.finish();
Run Code Online (Sandbox Code Playgroud)

回到我的 FirstActivity,我重写 onActivityResult(params) 方法

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == 1) { //to make sure request was successful
        if (resultCode == Activity.RESULT_OK) {
            finish();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

onActivityResult()在 SecondActivity 完成后没有被调用。尝试调试并在第一次启动 FirstActivity 时,这只是被调用的时间onActivityResult(),但从 SecondActivity 返回时就不再是了。

可能是什么问题?

先感谢您!

Hed*_*deH 5

不能FLAG_ACTIVITY_NEW_TASKstartActivityForResult一起使用。

该标志的文档中指出:

当调用者请求正在启动的活动的结果时,不能使用此标志。