多个活动startActivityForResult使用多个、startActivityForResult

2023-09-06 14:33:52 作者:治碍゛

我使用startActivityForResult像这样两项活动

i use startActivityForResult for two activities like this

Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); }

但我必须使用这个逻辑4个或更多的活动。

but i must use this logic for 4 or more activities.

Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> finish(); -> Activity C -> finish(); -> Activity D -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); }

但是,这并不正常工作。

but this does not work.

推荐答案

解决方案:

Activity A -> startActivityForResult(activityB,0);
Activity B -> activityCintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityCintent); finish();
Activity C -> activityDintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityDintent); finish();
Activity D -> setresult(10); finish();
Activity A -> if(result==10) {dofunction(); } YEPPP

这是FLAG_ACTIVITY_FORWARD_RESULT的逻辑。首先,你开始为结果的活动,新的活动,直到您将结果发送此意图另一个新的活动。我希望这将是有同样的问题peaople很有帮助。

this is the logic of FLAG_ACTIVITY_FORWARD_RESULT. First you start an activity for result, new activity sends this intent to another new activity until you set result. I hope this will be helpful for peaople having same problem.

 
精彩推荐
图片推荐