大家好,我最近在调试代码,系统是android2.1
发现在有的时候(几率不大),我按1下menu 键,menu菜单无法从Home界面弹出。我经过调试,发现从framework发到launcher(home界面)的menu key down事件有的时候无法被捕获,但是framwork中的log显示它已经将数据发送到这个窗口了(如下)01-22 09:50:05.941 V/WindowManager_DEBUG(  955): Dispatching to Window{4382dd20 com.android.launcher/com.android.launcher.Launcher paused=false}: KeyEvent{action=0 code=82 repeat=0 meta=0 scancode=139 mFlags=72}
01-22 09:50:05.941 V/WindowManager_DEBUG(  955): Delivering key 82 to Window{4382dd20 com.android.launcher/com.android.launcher奇怪的是key up可以被捕获,这个 key down怎么有的时候不能被捕获呢?
有知道的大哥吗?

解决方案 »

  1.   

    还有个问题 就是onPrepareOptionsMenu这个函数 如果去掉 会不会导致menu打不开啊
      

  2.   

    是因为在键盘事件传入上层之前,会被inputmethod预先截留处理,如果它没处理,窗口管理器才会把这个事件传给当前窗口。所以我最后才发现我的那个inputmethod软件错误的处理了不该自己处理的键盘事件,导致事件无法发给当前窗口。所以你需要自己看看是不是输入法软件处理了。