我想实现按任意键实现返回键的功能,即返回上一级菜单或者退出程序。但是书上的功能不能实现。public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO 自动生成的方法存根
KeyEvent key = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
Toast.makeText(this, ""+key, Toast.LENGTH_LONG).show();
return super.onKeyDown(KeyEvent.KEYCODE_BACK, key);
}Toast显示
显示的是返回的按键,为什么却不执行返回功能?android

解决方案 »

  1.   

    这个是在底层处理的,你不能点其他键而把它转为Back键吧
      

  2.   

    在这里你需要做按键模拟操作,及模拟back按键事件,你可以查查相关资料本人以前也研究过,有一种比较好用方法如下,
     /**
         * run linuix shell cmmand 
         * @param keyCode
         */
        private void runLinuixShell(final int keyCode){
         try{
             String keyCommand = "input keyevent " + keyCode;
             Runtime runtime = Runtime.getRuntime();
             Process proc=runtime.exec(keyCommand);
             Log.e("cmdrun","keycode= "+keyCode);
           //  proc.destroy();
            }catch (IOException e){
             Log.e("cmderror", e.toString());
            }
        }这里我是通过执行linux Shell Command 实现,来实现对按键模拟操作,通过传入按键码即可,祝你成功!