我正在为Android开发一个主屏幕启动器应用程序。
现在,如果用户已经在主屏幕上,
我想要一个自定义操作时,用户按下的主页按钮。
我知道一些其他的发射器,可以覆盖主键,
例如,Go Launcher Ex。
我的代码是:
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (action)
{
case KeyEvent.ACTION_DOWN:
switch (keyCode)
{
case KeyEvent.KEYCODE_HOME:
break;
}
break;
case KeyEvent.ACTION_UP:
switch (keyCode)
{
case KeyEvent.KEYCODE_HOME:
if (!event.isCanceled())
Log.i("TEST", "HOME");
break;
}
break;
}
return super.dispatchKeyEvent(event);
}但是当我按下Home键时,什么也没有发生..
发布于 2013-04-14 03:14:35
启动器是一种活动。
因此,我相信当用户按下主页按钮时,您将获得焦点。有一件事我可以肯定地告诉你。这是可能的!
在视图类中获得了setOnFocusChanged()
发布于 2013-04-14 03:09:26
引用此post
您无法“检测到主页键按钮按下事件”,抱歉。
然而,在同一篇文章中,Idistic建议这是一个变通的办法:
long userInteractionTime = 0;
@Override
public void onUserInteraction() {
userInteractionTime = System.currentTimeMillis();
super.onUserInteraction();
Log.i("appname","Interaction");
}
@Override
public void onUserLeaveHint() {
long uiDelta = (System.currentTimeMillis() - userInteractionTime);
super.onUserLeaveHint();
Log.i("bThere","Last User Interaction = "+uiLag);
if (uiDelta < 100)
Log.i("appname","Home Key Pressed");
else
Log.i("appname","We are leaving, but will probably be back shortly!");
}https://stackoverflow.com/questions/15991749
复制相似问题