码迷,mamicode.com
首页 > 移动开发 > 详细

Android开发_关于如何屏蔽Home键

时间:2015-12-21 12:18:02      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

今天在遇到一个要屏蔽Home键的问题,研究一上午终于解决,方法记录于下:

  

    在Android2.3版本以下重写以下方法就能屏蔽Home键:

public void onAttachedToWindow() {
      this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
      super.onAttachedToWindow();
}

    在Android4.0以上版本用onAttachedToWindow()方法会报错,需要利用以下方法屏蔽:

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

    再重写onKeyDown方法即可:

@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {    
if (keyCode == event. KEYCODE_HOME) {       
 return true;     
 }
 return super.onKeyDown(keyCode, event);
}

在AndroidMainfest.xml需要加权限:  
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->

在配置文件中,在你使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"

Android开发_关于如何屏蔽Home键

标签:

原文地址:http://www.cnblogs.com/wuyong0818/p/5062846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!