android 中拦截home键

android中拦截back键大家应该很熟练了,而且网上一搜一大片,在android中拦截home键呢?在dialog中拦截home键呢?不啰嗦了,直接给出最简单的方法。

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);

没错,就和activity中一样,只不过是dialog调用而已。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容