2011-11-25 103 views
0

在我的应用程序中,如果用户单击主页按钮并希望维护活动堆栈,我想打开登录屏幕。如何捕捉主页按钮被按下?

有没有办法做到这一点?

+0

你不能回到家按钮单击事件 –

+3

使命不可能。 –

回答

-5

出于安全原因,您无法捕获主页按钮单击事件。

但是,您可以通过覆盖方法onNewIntent()来执行按Home按钮所执行的操作。

3

没有直接的方法来做同样的事情。就像你无法获得HOME键的KeyDown事件一样。但我们可以得到捕获的HOME键和下面的代码

@Override 
public void onAttachedToWindow() { 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 

    super.onAttachedToWindow(); 
} 
+0

我还在寻找:: Upvote – Sameer

+0

有没有其他的选择 – Monali

+0

AFAIK主键是应用程序唯一的转义点。所以我们无法得到具体的事件。你需要改变你的应用程序设计 –

0

其实你应该覆盖到home键留在同一个屏幕上:

@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); 
} 
+0

KEYCODE_BACK是后退按钮,而不是主页按钮。 – ggurov