您的位置:首页 > 移动开发 > Android开发

android Home键 屏蔽,捕获,修改

2011-08-09 13:42 363 查看
开发过程中相信大家都有碰到因为不能捕获Home键而烦恼,现在终于有办法了,在Level5以上(包含)中,Activity类中有如下方法:

public void onAttachedToWindow ()

Since: API Level 5

Called when the main window associated with the activity has been attached to the window manager. See View.onAttachedToWindow() for more information.

See Also

    * onAttachedToWindow()

private boolean catchHomeKey = false;

    @Override

        public void onAttachedToWindow() {

                // TODO Auto-generated method stub

            if(catchHomeKey) {

                    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);

            }

                super.onAttachedToWindow();

        }

        @Override

        public boolean onKeyDown(int keyCode, KeyEvent event) {

                // TODO Auto-generated method stub

                if(keyCode == KeyEvent.KEYCODE_HOME) {

                        Log.e(TAG, "Home key down");

                }

                return super.onKeyDown(keyCode, event);

        }

复制代码
重写Activity中的onAttachedToWindow方法,设置Type,就能捕获到Home键。

当不需要捕获时,删除setType这一行就OK。
开发过程中相信大家都有碰到因为不能捕获Home键而烦恼,现在终于有办法了,在Level5以上(包含)中,Activity类中有如下方法:

public void onAttachedToWindow ()

Since: API Level 5

Called when the main window associated with the activity has been attached to the window manager. See View.onAttachedToWindow() for more information.

See Also

    * onAttachedToWindow()

private boolean catchHomeKey = false;

    @Override

        public void onAttachedToWindow() {

                // TODO Auto-generated method stub

            if(catchHomeKey) {

                    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);

            }

                super.onAttachedToWindow();

        }

        @Override

        public boolean onKeyDown(int keyCode, KeyEvent event) {

                // TODO Auto-generated method stub

                if(keyCode == KeyEvent.KEYCODE_HOME) {

                        Log.e(TAG, "Home key down");

                }

                return super.onKeyDown(keyCode, event);

        }

复制代码
重写Activity中的onAttachedToWindow方法,设置Type,就能捕获到Home键。

当不需要捕获时,删除setType这一行就OK。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android api