我正在Android中开发一个应用程序,我使用以下代码来处理后退按钮的KeyEvent:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
finish();
}
return super.onKeyDown(keyCode, event);
}
我如何为主页按钮执行此操作?
答案 0 :(得分:1)
正如这个问题所暗示的那样:Android Overriding home key遗憾的是,这是不可能的。也许还有其他方法可以实现您想要的行为?
答案 1 :(得分:1)
您无法控制Home键的行为。你不会得到Home键的事件,但你可以禁用它,但强烈建议你不要这样做。在阻止Home键之前,请参考post。
但是你可以像这样阻止主页键:
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
答案 2 :(得分:1)
明显的答案是 - 在您的活动的onPause()方法中处理主页按键。当用户点击主页键时调用此回调。 Guaranted。主页键不适合您,但是 用于操作系统和用户。
答案 3 :(得分:0)
阅读以下内容:
Overriding the Home button - how do I get rid of the choice?
Android - How to catch that the Home button was pressed?
主页按钮应该只做一件事而且一件事。让用户返回HOME屏幕。即使你可以覆盖它的行为,这将是一个非常用户不友好的事情。 所以不要这样做,并以不同的方式解决您的问题!强文