我有一个活动,我只想存在一次,无论它打开多少次。以前我使用的是launchMode singleTask,一切都很好。但是,现在我需要使用 onActivityResult,由于某种原因,它与 launchMode singleTask 不兼容。
您是否知道复制其中任何一个功能的方法。
我有一个活动,我只想存在一次,无论它打开多少次。以前我使用的是launchMode singleTask,一切都很好。但是,现在我需要使用 onActivityResult,由于某种原因,它与 launchMode singleTask 不兼容。
您是否知道复制其中任何一个功能的方法。
我的主要活动也是一个单任务,但我肯定会从主要活动开始ActivitiesForResults 并获取结果。
这是我的清单声明:
<activity
android:name=".activities.Main"
android:theme="@android:style/Theme.Light"
android:screenOrientation="portrait"
android:launchMode="singleTask"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这是我的 onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
super.onActivityResult(requestCode, resultCode, intent);
// blah blah checking if if the requestCode and resultCode are good //
}
我确定您正在其他活动中设置结果...
所以只需用我的交叉检查你的代码,让我们看看我们是否能找到问题。
希望这可以帮助
-serkan
您可以使用FLAG_ACTIVITY_REORDER_TO_FRONT,这会将启动的活动带到它的任务堆栈的前面,而不是创建一个新实例。
请注意,结果将传递给调用 startActivityForResult 的第一个活动。这个答案提供了一个很好的例子来说明它是如何工作的。