我正在调用startActivity,使用外部类中的活动上下文将数据从一个活动传递到另一个活动。
这是我如何创建发送意图的一个示例:
public static Intent createSearchIntent(Context context, Class<?> cls) {
Intent i = new Intent(ACTION_SEARCH, null, context, cls);
return i;
}
这是我开始活动的方式:
mContext.startActivity(mIntent);
编辑: 对不起,我错了所发生的事情。当我调用startActivity时,活动不会被销毁,但是我发送的活动总是让它的onCreate方法被调用,所以我猜测正在创建一个新的活动实例,而不是返回到暂停/停止的活动。
我怎样才能更改它以便我可以返回到暂停/停止的活动?
答案 0 :(得分:8)
这是你需要使用标志的时候。要使之前启动的活动回到堆栈顶部,您需要将i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
标记添加到您的意图中,然后启动该活动 - startActivity(i)
并将“i”作为意图名称。<登记/>
对于其他标志的列表,请查看here。
答案 1 :(得分:4)
默认情况下,从活动A调用活动B不会破坏活动A本身,您看到的活动B显示在活动A上,屏幕重叠。您可以按Back
按钮进行检查。
这是活动生命周期:http://developer.android.com/reference/android/app/Activity.html