我有两个活动,例如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;
}
答案 0 :(得分:0)
我不希望关键事件像那样传播。
听起来你可能想要用startActivityForResult
开始B,然后让它设定完成的原因,然后A可以处理。
答案 1 :(得分:0)
我刚刚尝试过类似的实现(我使用KeyEvent.KEYCODE_BACK),它也不起作用。
我想keyevent只会在活动中传播,从子视图到父视图再到Activity。
如果活动被销毁,事件就会消失。