我需要一些帮助。基本上,我有一个活动。这使用startActivityForResult()
方法调用第二个Activity(它是同一个应用程序的一部分)。第二个Activity的结果代码在调用第二个Activity的RESULT_CANCEL
方法之前返回onCreate()
。
这令我感到困惑。如果我更改了Intent并调用Android Messaging App Activity而不是我自己的Activity,那么在该Activity完成后,我将正确地获取结果代码。
对我来说很明显,当你为结果打电话给自己的活动时,你必须做一些不同的事情。
在Android V2.2上进行测试
答案 0 :(得分:0)
我最初的想法是尝试在Android清单中使用Intent Filter,并将意图限制为您尝试从中获取结果的单个活动。
我希望这能回答你的问题!
答案 1 :(得分:0)
好的,所以我找到了解决方案。
如果您有一个“singleTask”或“singleInstance”的launchMode,则无法从您的应用程序启动的Activity中收到结果。它将立即返回RESULT_CANCEL。通过将Activity的launchMode更改为“standard”或“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"
我希望这可以帮助那些遇到同样问题的人。