onKeyDown事件处理没有在android中传播

时间:2015-11-30 15:14:24

标签: android events

我有两个活动,例如A和B.活动A具有CHANNEL_UP和CHANNEL_DOWN等键的事件处理实现。现在,当活动B可见并且按下任何键时,则在B上调用完成。在这种情况下,密钥处理应该传播到活动A.但是甚至没有调用活动A的onKeyDown方法。活动B onkeyDown的代码如下所述。

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

    switch(keyCode) {
        case KeyEvent.KEYCODE_CHANNEL_UP:
        case KeyEvent.KEYCODE_CHANNEL_DOWN:
            finish();
            break;
    }

    return false;
}

2 个答案:

答案 0 :(得分:0)

我不希望关键事件像那样传播。

听起来你可能想要用startActivityForResult开始B,然后让它设定完成的原因,然后A可以处理。

答案 1 :(得分:0)

我刚刚尝试过类似的实现(我使用KeyEvent.KEYCODE_BACK),它也不起作用。

我想keyevent只会在活动中传播,从子视图到父视图再到Activity。

如果活动被销毁,事件就会消失。