当启动的Activity完成时,startActivityForResult启动一个新的Activity是否会通知调用Activity?

时间:2012-12-17 16:04:23

标签: java android android-activity

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

startActivityForResult用于从Activity课程中发布新的Activity时,您的Activity课程会在新的Activity完成时收到通知。< / p>

我认为,startActivityForResult的重点是通知调用活动它已启动的活动已完成,并允许在需要时返回数据。

我对Android比较陌生,我想直接了解事实。

任何意见都会受到赞赏。

干杯

3 个答案:

答案 0 :(得分:2)

  

当使用startActivityForResult从您的帐户启动新活动时   活动类然后您的活动类在新的时候得到通知   活动已经完成。

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

  

我认为,startActivityForResult的重点是   通知调用Activity它启动的Activity有   已完成并允许在需要时返回数据。

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

答案 1 :(得分:1)

为了理智,我们有Activity AActivity B

ActivityA使用ActivityB启动startActivityForResult

ActivityB做到了,完成了。在onActivityResult

上调用ActivityA

答案 2 :(得分:0)

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