startActivity每次都创建Activity的新实例

aye*_*der 6 android android-activity

我正在调用startActivity,使用外部类中的活动上下文将数据从一个活动传递到另一个活动.

这是我如何创建要发送的意图的一个示例:

public static Intent createSearchIntent(Context context, Class<?> cls) {
    Intent i = new Intent(ACTION_SEARCH, null, context, cls);
    return i;
}
Run Code Online (Sandbox Code Playgroud)

这就是我开始活动的方式:

mContext.startActivity(mIntent); 
Run Code Online (Sandbox Code Playgroud)

编辑:对不起,我错了所发生的事情.当我调用startActivity时,活动不会被销毁,但是我发送的活动总是让它的onCreate方法被调用,所以我猜测正在创建一个新的活动实例,而不是返回到暂停/停止的活动.

我怎样才能更改它以便我可以返回暂停/停止的活动?

Urb*_*ban 8

这是你需要使用标志的时候.要使之前启动的活动回到堆栈顶部,您需要将i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);标志添加到您的意图中,然后启动该活动 - startActivity(i)使用'i'作为意图名称.
有关其他标志的列表,请查看此处.