【发布时间】:2012-05-30 04:35:40
【问题描述】:
从stackoverflow中的答案我发现主页按钮可以被覆盖? 但我在安卓市场找到了一个名为“Mxplayer”的应用程序,你可以在播放视频时锁定所有按钮。他们是怎么做到的? 我们可以覆盖android中的主页按钮吗?
【问题讨论】:
标签: android
从stackoverflow中的答案我发现主页按钮可以被覆盖? 但我在安卓市场找到了一个名为“Mxplayer”的应用程序,你可以在播放视频时锁定所有按钮。他们是怎么做到的? 我们可以覆盖android中的主页按钮吗?
【问题讨论】:
标签: android
此解决方案适用于 2.3,
在您的 Activity 中覆盖以下方法,
@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;
};
【讨论】:
onKeyDown 中使用return super(keyCode, event) 而不是return false。
是的,你可以。使用以下代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
//do nothing
return true;
}
return super.onKeyDown(keyCode, event);
}
【讨论】: