在我的应用程序中,如果用户单击主页按钮但还想维护活动堆栈,我想打开登录屏幕。
有没有办法做到这一点?
没有直接的方法可以做到这一点。就像您无法获得 HOME 键的 KeyDown 事件一样。但我们可以通过以下代码获取 HOME 键并保持在同一屏幕上
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
实际上你应该覆盖到主页按钮:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent new(this, login);
start(intent);
return true;
}
return super.onKeyDown(keyCode, event);
}
出于安全原因,您不能绝对捕获主页按钮单击事件。
但是,您可以通过覆盖方法来执行某些操作以及通过按 Home 按钮执行的操作onNewIntent()
。