0

我在那里查看一个Android问题,询问以下陈述是否属实..

什么时候startActivityForResult用于Activity从您的Activity班级启动新课程,然后您的Activity班级会在新课程完成时收到通知Activity

我的观点是,整个要点startActivityForResult是通知调用 Activity 它启动的 Activity 已经完成,并允许在需要时返回数据。

我对 Android 比较陌生,我想弄清楚我的事实。

任何输入将不胜感激。

干杯

4

3 回答 3

2

当 startActivityForResult 用于从您的活动类启动新活动时,您的活动类会在新活动完成时收到通知。

这是真的,onActivityResult (int requestCode, int resultCode, Intent data)在活动中调用,它为结果启动了其他活动 - 覆盖它以处理结果

我的观点是, startActivityForResult 的全部意义在于通知调用 Activity 它启动的 Activity 已经完成,并允许在需要时返回数据。

这也是正确的,您可以通过调用设置结果为结果的活动setResult (int resultCode, Intent data)- 传递包含额外数据的 Intent 数据 - 然后您可以从 onActivityResult 中的 Intent 数据中检索它。

于 2012-12-17T16:09:33.240 回答
1

为了理智,让我们拥有Activity Aand Activity B

ActivityA开头。ActivityB_startActivityForResult

ActivityB做到这一点并完成。onActivityResult被调用ActivityA

于 2012-12-17T16:09:56.203 回答
0

当您希望被调用的活动向调用活动返回结果时,您可以使用 startActivityForResult。调用活动必须实现 onActivityResult 才能获得有关结果的通知。当被调用的活动完成其工作时,它会调用 setResult。它只是在活动之间共享价值的一种方式,与通知系统无关。我希望我很清楚。

于 2012-12-17T16:14:35.630 回答