【发布时间】:2013-03-21 05:50:43
【问题描述】:
我想在我的 android 应用程序中处理设备主页按钮点击。当谷歌搜索时,据说这 Link 有效。但我有一些疑问。
所有安卓版本都支持吗?如果不支持哪一个?
使用onAttachedToWindow()方法有什么后果吗?
有没有办法处理主页按钮的点击(除了这个)?
提前致谢
【问题讨论】:
标签: android button event-handling click
我想在我的 android 应用程序中处理设备主页按钮点击。当谷歌搜索时,据说这 Link 有效。但我有一些疑问。
所有安卓版本都支持吗?如果不支持哪一个?
使用onAttachedToWindow()方法有什么后果吗?
有没有办法处理主页按钮的点击(除了这个)?
提前致谢
【问题讨论】:
标签: android button event-handling click
这仅适用于以前的版本。但是从 os 版本 4.0 开始它不起作用(尽管在我的模拟器中这在 api 级别 11 之后不起作用,但我根据许多其他链接指向 ics)。
【讨论】:
在其他帖子上找到这个。
在较旧的 Android 版本上,这可以正常工作。但是 Android 改变了这一点,因为他们说“主页按钮应该保留主页按钮”并且他们不希望任何人覆盖主页按钮。由于这个原因,您的代码不再工作。
如果您想在按下主页按钮时执行某些操作,请在 onPause 方法中执行此操作。
【讨论】:
是的,它的工作,请试试这个代码
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
现在像这样处理关键事件,
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.i("Home Button","Clicked");
}
if(keyCode==KeyEvent.KEYCODE_BACK)
{
finish();
}
return false;
};
【讨论】: