【发布时间】:2013-12-18 04:15:09
【问题描述】:
在我的应用程序中,当我单击主页按钮时,如果按下主页按钮,我希望清除活动堆栈。谁能帮帮我。假设有 2 个活动 Activity A 和 Activity B。 如果我们从 Activity B 单击主页按钮,然后重新启动应用程序,我希望从 Activity A 启动应用程序,但它正在从 Activity B 恢复。谁能帮我解决这个问题。
【问题讨论】:
在我的应用程序中,当我单击主页按钮时,如果按下主页按钮,我希望清除活动堆栈。谁能帮帮我。假设有 2 个活动 Activity A 和 Activity B。 如果我们从 Activity B 单击主页按钮,然后重新启动应用程序,我希望从 Activity A 启动应用程序,但它正在从 Activity B 恢复。谁能帮我解决这个问题。
【问题讨论】:
只需在您的 Acitivity B onPause() 方法中调用 finish()。
【讨论】:
尝试在您的清单中为活动 A 添加标签 android:clearTaskOnLaunch="true",以使启动器始终转到该活动。
【讨论】:
注意接受的答案,如果您旋转设备或其他应用程序进入前台,您的视图将被销毁,因为将调用 onPause() 方法。如果您只想通过点击主页按钮来破坏您的活动,我建议这样做:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.KEYCODE_HOME){
finish();
} else
return super.onKeyDown(keyCode, event);
}
【讨论】: