获取主页按钮的活动

时间:2013-01-04 12:09:37

标签: android

我的要求是当用户在应用程序的任何屏幕上点击主页按钮时,他被重定向到设备主屏幕,当他回到应用程序时,他将重定向到应用程序主屏幕,而不是在他按下主页的屏幕上按钮。

任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

以下是一些可用于检测Home-Button推送和调用适当函数的代码。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_HOME:
            finish();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}

在android清单中,在活动上设置android:noHistory="true",只要它不在前台,就会从堆栈中删除活动。

答案 1 :(得分:0)

正如您所说,当您从任何屏幕按Home键时,您想要进入主屏幕。因此,您最好采用BaseActivity扩展Activity并覆盖onKeyDown(),如下所示。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_HOME:
            // Implement starting Home Activity with Clear Top
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}

然后使用BaseActivity而非活动扩展您的所有活动。这样每个活动都会获得onKeyDown()功能,这样当你按下Home Button时,它会导航回HomeScreen并删除所有活动。