返回活动结果涉及哪些变量?

时间:2012-06-27 19:42:33

标签: android android-intent android-activity

我在使用startActivityForResult()启动的一些活动上调用setResult()和finish()时看到不一致的行为。从这里的其他问题来看,可能出现意外行为的各种原因。在调试结果的活动过程中发生的事情的完整情况并将其发回时,我需要查看哪些变量,因为活动可能会为结果本身启动活动?

具体来说,我想知道如何看待:

  • 返回启动活动时如何处理结果
  • 调用finish()时将发送(和如果)结果
  • 当前设定的结果

我已经在看了:

mResultCode
mResultData
mParent

但是他们没有提供足够的信息。我喜欢我的应用程序的整个结果状态。

1 个答案:

答案 0 :(得分:1)

请求代码...

当您致电startActivityForResult()时,您提供了一个请求代码。请求代码允许您将特定活动结果与特定启动请求进行匹配。具体而言,在onActivityResult()中,您将传递一个允许您进行比较的请求代码。

结果代码......

结果代码只是从已启动活动到启动活动的粗粒度消息传递的一种方式。也就是说,已启动的活动可以通过调用setResult(int)来设置结果代码,该onActivityResult()将返回到the variant of setResult(int, Intent)中的起始活动。再次,这通常用于执行粗粒度消息传递,如SUCCESS或FAIL。

结果数据......

最后,为了传回更细粒度的数据,请使用同时包含结果代码和意图的{{3}}。当你构造意图时,添加你希望传递给起始活动的任何额外内容。