1、activity拦截home

这个和别人提供的方法一样,直接在onKeyDown中判断keyCode == KeyEvent.KEYCODE_HOME是不能拦截的,需要在activity的onCreate()方法setContentView之前添加getWindow().setFlags(0x80000000,0x80000000),这样就能和监听back一样监听home了。

 

2、dialog拦截home

和activity一样,dialog也可以拦截home键,如下:

dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {

    @Override

     public boolean onKey(DialogInterface dialog,int keyCode, KeyEvent event) {

            switch (keyCode) {

                case KeyEvent.KEYCODE_HOME:

                    return true;

             }

    return false;

    }

});

单纯这样也是不能拦截的,所以在之前再添加一句代码就行了。

dialog.getWindow().setFlags(0x80000000,0x80000000);

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐