Home键屏蔽

公司要开发一款智能终端,设备中预装了本公司开发的软件,但是为了避免用户进入Android系统的界面,这个时候我们就需要对其中的按键加以屏蔽,尤其是Home键,在普通的情况下,当我们点击Home按键的时候,就返回到我们的Android系统,在这里,当我们点击Home按键的时候,让返回我们应用的主界面。

在Android4.0以下版本的Android设备中,可以重写onAttachedToWindow方法来实现屏蔽Home按键的作用

    @Override
    public void onAttachedToWindow() {
        // TODO Auto-generated method stub
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
        super.onAttachedToWindow();
    }

但是在Android4.0以上版本的Android设备中就不能用了,不过刚刚发现了另外一种屏蔽和重写Home按键的方法:

 1     public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;
 2     @Override
 3     protected void onCreate(Bundle savedInstanceState) {
 4         super.onCreate(savedInstanceState);
 5         this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);// 关键代码
 6         setContentView(R.layout.activity_main);
 7     }
 8 
 9     @Override
10     public boolean onKeyDown(int keyCode, KeyEvent event) {
11         // TODO Auto-generated method stub
12         if (KeyEvent.KEYCODE_HOME == keyCode) {
13             Toast.makeText(MainActivity.this, "HOME", Toast.LENGTH_SHORT).show();
14         }
15         return super.onKeyDown(keyCode, event);
16     }

 这样的话你再点击Home按键的时候就不会返回到桌面了。

 

==

posted @ 2016-01-21 17:13  HuijunZhang  阅读(1311)  评论(0编辑  收藏  举报
中国