在我自己的自定义android主屏幕中,如何捕获主页按钮?

时间:2012-11-16 18:47:49

标签: android android-homebutton

我知道android不允许我们按下主页按钮;但是,我有自己的内置屏幕替换应用程序,只想知道何时按下按钮以允许动画。

所以,我的应用程序只有一个活动,因为我将大部分“活动”作为画布绘图,所以我可以完全控制我的应用程序的视觉美学。问题是如果用户导航到应用程序内的不同页面并按下主页,则没有任何反应,因为该应用程序在技术上已经处于相同的活动中。

我想知道按下按钮的时间,然后我可以将我的应用程序设置为动画/导航回主屏幕。此外,我知道我可以通过单独的真实活动来实现这一点,但这对我正在尝试做的事情不起作用。

3 个答案:

答案 0 :(得分:2)

您需要在应用的Android.xml中将<category android:name="android.intent.category.HOME"/>添加到您的活动的intent过滤器

您可以在Android SDK示例中查看“主页”应用。可以使用these instructions下载它们。

答案 1 :(得分:2)

//覆盖方法

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
           //The Code Want to Perform. 
        }
    });

答案 2 :(得分:0)

您可以检测何时按下主页按钮,因为始终会调用onPause()。您不能覆盖主页按钮,但以下内容应该可以正常工作

@Override
protected void onPause() 
{
    super.onPause();
    //code here
}

使用它的问题当然是即使用户没有退出应用程序也会调用它(即如果它们是通过意图发送到另一个应用程序的话)

这是你最接近onHomeButtonPressedListener的地方,实际上没有办法做到这一点