活动调用第二个“活动”,但在第二个活动调用onCreate()之前,结果会被发回



我需要一些帮助。基本上,我有一个活动。这使用startActivityForResult()方法来调用第二个Activity(它是同一应用程序的一部分)。第二个"活动"的结果代码在调用第二个活动的onCreate()方法之前返回RESULT_CANCEL

这让我很困惑。如果我更改Intent并调用Android消息应用程序活动,而不是我自己的活动,那么在活动结束后,我会正确地得到结果代码。

我很清楚,当你调用自己的"活动"来获得结果时,你必须做一些不同的事情。

在Android V2.2 上测试

我最初的想法是尝试在Android清单中使用意向过滤器,并将意向限制为您试图从中获得结果的单个活动。

我希望这能回答你的问题!

好的,所以我已经找到了解决方案。

如果您的启动模式为"singleTask"或"singleInstance",则无法从您从应用程序启动的"活动"中接收结果。它将立即返回RESULT_CANCEL。通过将"活动"的launchMode更改为"标准"或"singleTop",解决了此问题。

示例:

android:launchMode="standard" //This is the default so if you remove the 
                              //attribute "android:launchMode=" from manifest 
                              //file you should be ok as well.

而不是

android:launchMode="singleTask"

我希望这能帮助到任何有同样问题的人。

相关内容

  • 没有找到相关文章

最新更新