Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onActivityResult调用被中间活动延迟_Android_Android Activity - Fatal编程技术网

Android onActivityResult调用被中间活动延迟

Android onActivityResult调用被中间活动延迟,android,android-activity,Android,Android Activity,我有一个活动A开始活动B: activityA.startActivityForResult(new Intent(activityA, B.class), REQUESTCODE_B); 在活动B中单击按钮时,将执行一个从a开始活动C的方法 activityA.startActivityForResult(new Intent(activityA, C.class), REQUESTCODE_C); 在活动C中单击按钮时,它将通过调用finish()关闭,而B将保持活动状态 现在我希望调用

我有一个活动A开始活动B:

activityA.startActivityForResult(new Intent(activityA, B.class), REQUESTCODE_B);
在活动B中单击按钮时,将执行一个从a开始活动C的方法

activityA.startActivityForResult(new Intent(activityA, C.class), REQUESTCODE_C);
在活动C中单击按钮时,它将通过调用finish()关闭,而B将保持活动状态


现在我希望调用activityA的onActivityResult()方法,但它只在activityB完成后调用。我可以想象这是故意的,但是有没有办法直接让activityA知道activityC已经完成了?如果没有活动B或C必须明确了解A,这是非常糟糕的做法。当你启动ActivityC时,你不能确定ActivityA是否被Android破坏。Android可以随时破坏后台活动。调用ActivityC.finish()时,ActivityA可能不存在。然后,当您调用ActivityB.finish()时,Android会从activities堆栈创建ActivityA,并为已完成的活动调用ActivityResult()方法(我不确定顺序)。告诉我们无法将结果从ActivityC返回ActivityB的原因。

我想你是对的。我试图管理活动A中的所有活动(B和C更像对话框),但我必须修改我的设计。