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

android home键屏蔽

2015-05-19 15:29 429 查看
在2.3版本以下重写下面方法就能重写home键

public void onAttachedToWindow() {

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

      super.onAttachedToWindow();

}

在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下:

public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码

    setContentView(R.layout.main);

}

再重写onKey事件即可。

@Override

      public boolean onKeyDown( int keyCode, KeyEventevent) {

             // TODO Auto-generatedmethod stub

             if (keyCode == event.KEYCODE_HOME) {

                  return true;

            }

             returnsuper.onKeyDown(keyCode, event);
      }
PS:
在AndroidMainfest.xml需要加权限:  

<uses-permission android:name ="android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在你使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android home键屏蔽