在一项活动(比如 A)中,我必须根据另一项活动(B)的结果执行某项任务。我使用 startActivityForResult() 开始活动 B。伪代码是这样的:(在活动A中)
//Statements
//startActivityForResult(activityB)
//get the result in some local variable for activity A. result is a boolean
//if(result==true) do something
//else do something else
现在我面临的问题是,在启动活动 B 后,它不会等待结果从 B 到达。相反,它继续并使用布尔结果的默认值。有什么解决办法吗?
如果这个特定的块在另一个线程中,我可以编写一个同步块并在启动活动 B 后发出 wait(),然后在 onActivityResult() 中发出 notify()。但既然只有一个线程,那不是一个选择,对吧?
应该提到 activityB 接受用户输入是/否并返回它。所以在启动它时,结果不是立即可用的