【发布时间】:2013-03-20 00:31:53
【问题描述】:
我有两个活动:A 和 B。
从 A 到 B:
onCreate
Context context = this;
点击
Intent i = new Intent(context,B.class);
startActivity(i);
从 B 到 A: (如果 B 有返回 A 的按钮)
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
finish();
}
});
但如果流程是这样的:
A 呼叫 B,正在观看 B 的用户单击 Home 按钮并再次从启动的活动中单击 B,然后单击按钮调用 finish(),它转到主页而不是我的第一个活动 A。我该怎么做?
编辑:
流
- A->B // 带有 startActivity(Intent);
- B->Home // 点击设备上的主页按钮
- Home->B // 从已启动的活动中单击我的应用程序
- B.finish() -> Home 而不是 A //finish 或 onBackPressed 做同样的事情
【问题讨论】:
-
您可以使用活动单任务并使用意图启动活动,然后如果实例存在,则只有最后一个实例会被带到前面(并且不会执行创建)
-
这就是我所做的;)
-
你的活动是单一任务吗?
-
是的.. 所以 startActivity 会将那个活动带到前面而不是创建一个新的
标签: android android-activity activity-finish home-button