我需要一些帮助。基本上,我有一个活动。这使用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"
我希望这能帮助到任何有同样问题的人。