从已完成的活动中调用Activity.setResult()

时间:2017-05-13 11:45:05

标签: android android-intent deep-linking onactivityresult

我正在尝试在我的Android应用中实现深层链接。

我的使用案例是,当用户点击深层链接网址,然后选择我的应用进行付款,然后我的应用的ActivityA被打开(启动器活动),然后在完成ActivityA之后,从那里我{ {1}}在ActivityB完成后,ActivityB被打开,然后从那里开启{1}}。现在在ActivityC付款后,我想调用ActivityC方法,以便将付款数据发送回上一个应用。

我的问题是setResult()已经完成,我如何调用ActivityA才能发送回复?

此外,我正在完成setResult()ActivityA,因为当用户按下按钮时,我不希望我的用户返回这些活动。

1 个答案:

答案 0 :(得分:1)

当您在ActivityAActivityB之间导航到ActivityC时,

Intent.FLAG_ACTIVITY_FORWARD_RESULT是您需要应用的意图标记。来自docs

  

如果设置并且此意图用于从现有活动启动新活动,则现有活动的回复目标将转移到新活动。这样,新活动可以调用 setResult(int),并将结果发送回原始活动的回复目标。