UI篇--Android中3种方法实现back键动作

方法一:重写onBackPressed方法 

Java代码   收藏代码
    @Override  

    public void onBackPressed() {  

        // do something what you want  

        super.onBackPressed();  

    }  

方法二:重写dispatchKeyEvent 

@Override  

public boolean dispatchKeyEvent(KeyEvent event) {  

    // TODO Auto-generated method stub  

    if (event.getAction() == KeyEvent.ACTION_DOWN  

            && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {  

        //do something what you want  

        return true;//返回true,把事件消费掉,不会继续调用onBackPressed  

    }  

    return super.dispatchKeyEvent(event);  

} 

方法三:使用测试框架Instrumentation,模拟任意键按下动作,注意的是该方法不能在主线程中使用,只能开启新线程,带来的问题就是反应速度较慢,项目中不建议使用。 
调用actionKey(KeyEvent.KEYCODE_BACK);产生back键单击效果 

/** 

 * 模拟键盘事件方法 

 * @param keyCode 

*/  

public void actionKey(final int keyCode) {  

     new Thread () {    

                public void run () {    

                    try {    

                         Instrumentation inst=new Instrumentation();    

                         inst.sendKeyDownUpSync(keyCode);  

                    } catch(Exception e) {    

                        e.printStackTrace();                    }    

                }    

            }.start();    

        }

} 

 

 

你可能感兴趣的:(android)