我送一个startActivityForResult从ActivityA到ActivityB
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)
为什么我不回来onActivityResult了ActivityA?
实际上我不确定之后执行了什么代码
setResult(Activity.RESULT_OK, resultIntent);
我以为我不见了finish()但是这把我扔给了另一个家长活动.
是的,你需要调用finish()后setResult().
调用setResult()不会关闭或以其他方式结束当前活动,因此用户仍然可以看到它.onActivityResult()在另一个Activity完成之前不会被调用.