为什么setResult不能直接返回onActivityResult中的上一个Activity?

Ela*_*da2 -1 java android

我送一个startActivityForResultActivityAActivityB

private Uri saveFileToDrive() {
    Intent saveToDriveInten = new Intent(this, GoogleDriveProxeyActivity.class);
    saveToDriveInten.putExtra("fileUri", mCurrentImageUri.toString());
    startActivityForResult(saveToDriveInten, SAVE_TO_DRIVE);
    return null;
}
Run Code Online (Sandbox Code Playgroud)

ActivityB我看来:

Intent resultIntent = new Intent();
resultIntent.putExtra("driveUri", file.getAlternateLink());
setResult(Activity.RESULT_OK, resultIntent);
Run Code Online (Sandbox Code Playgroud)

为什么我不回来onActivityResultActivityA

实际上我不确定之后执行了什么代码

setResult(Activity.RESULT_OK, resultIntent);

我以为我不见了finish()但是这把我扔给了另一个家长活动.

Tan*_*.7x 5

是的,你需要调用finish()setResult().

调用setResult()不会关闭或以其他方式结束当前活动,因此用户仍然可以看到它.onActivityResult()在另一个Activity完成之前不会被调用.