1

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

这让我很困惑。如果我更改 Intent 并调用 Android Messaging App Activity 而不是我自己的 Activity,我会在该 Activity 完成后正确获得结果代码。

对我来说很明显,当您调用自己的 Activity 以获得结果时,您必须做一些不同的事情。

在 Android V2.2 上测试

4

2 回答 2

0

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

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

于 2011-06-30T19:33:49.287 回答
0

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

如果您的 launchMode 为“singleTask”或“singleInstance”,则您无法从应用程序启动的 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"

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

于 2011-07-21T18:53:20.067 回答