首页 > 解决方案 > 为什么调用活动的 onActivityResult() 在被调用活动的 onCreate() 之前执行?

问题描述

我有两个活动 1. MainActivity (launchMode 是标准的) 2. SecondActivity (launchMode 是 singleTask)

当我从 MainActivity 调用 SecondActivity 时,MainActivity 的 onActivityResult 在 SecondActivity 的 onCreate 之前被调用。

Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent, 115);

这是 MainActivity 的 onActivityResult()。

 public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     //It is giving requestCode = 115, resultCode=0, without calling setResult anywhere.
 }

然后是SecondActivity的onCreate()。

我已经读过,这是下面链接中的 android 错误。 onActivityResult() 过早调用

到目前为止有什么解决方案吗,我需要将launchMode 设为我的SecondActivity 的singleTask。

标签: androidandroid-lifecycleoncreateonactivityresult

解决方案


推荐阅读