我使用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.
上一篇:是一些&QUOT之间的差异; Android的开发/ SDK工具"?差异、工具、QUOT、SDK
下一篇:Android的下载管理器删除() - 如何确定何时remove()操作完成?管理器、操作、Android、remove