Android - 活动堆栈,将当前活动置于前面并禁用后退键

时间:2011-08-17 11:44:13

标签: java android stack activity-stack

我的申请表有以下活动;

登录 - >家庭区域 - >交互记录器(触摸屏记录交互)

虽然此交互式记录器处于活动状态,但我希望能够允许用户通过后退键或主页键退出应用程序,并且仍然可以返回到该交互式记录器。但是,如果交互记录器已完成(在计时器上管理),则用户将进入登录活动

此外,我应该在交互记录器中覆盖后退键,因为我不希望用户在录制过程中销毁活动

提前感谢,

安迪

1 个答案:

答案 0 :(得分:1)

您需要禁用设备的所有密钥并需要处理后退密钥。覆盖以下方法,但请记住您无法控制home keyend call key的行为。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if(KeyEvent.KEYCODE_MENU == event.getKeyCode() || KeyEvent.KEYCODE_DPAD_LEFT==event.getKeyCode()
            || KeyEvent.KEYCODE_DPAD_DOWN==event.getKeyCode() || KeyEvent.KEYCODE_DPAD_RIGHT==event.getKeyCode()
            || KeyEvent.KEYCODE_DPAD_UP==event.getKeyCode() || KeyEvent.KEYCODE_DPAD_CENTER==event.getKeyCode())
    {
        return false;
    }else if(KeyEvent.KEYCODE_BACK==event.getKeyCode()){
        //Do your task here...
    }
    return true;
}

实现您的应用退出要求,同时从一个活动转到另一个活动完成前一个活动,如果您需要回来,请启动它...