android如何屏蔽掉home键

本文详细介绍了在Android应用中如何在2.3版本以下通过重写onAttachedToWindow方法重写Home键,以及在4.0以上版本如何通过设置窗口标志和重写onKeyDown方法来屏蔽和重写Home键。同时,文章还强调了在AndroidManifest.xml中添加屏蔽Home键所需的权限,并在使用了Notification的activity中加入特定属性。
摘要由CSDN通过智能技术生成
在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, KeyEvent event) {
             // TODO Auto-generated method stub
             if (keyCode == event. KEYCODE_HOME) {
                   return true;
            }
             return super.onKeyDown(keyCode, event);

      }

PS:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值