android4.0如何屏蔽掉home键

最近在写一个锁屏项目,那个home键怎么都不能屏蔽掉,版本是4.0以上的系统... 最近在写一个锁屏项目 ,那个home键怎么都不能屏蔽掉,版本是4.0以上的系统 展开
 我来答
匿名用户
2013-12-27
展开全部
这个是可以屏蔽的,我之前一直从事android手机锁屏软件开发。在2.2,2.3版本上重写下面方法就能重写home键public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow();}但是在4.0以上就不能用了。刚刚发现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); }
半塘无水
2015-10-02 · TA获得超过2.2万个赞
知道大有可为答主
回答量:4220
采纳率:68%
帮助的人:878万
展开全部
android4.0屏蔽掉home键的方法为:
1、在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);
}
2、再重写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"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-27
展开全部
Home键的Keyevent不会送到application层来,在framework就已经处理完了.你是没办法屏蔽的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
08物理
推荐于2016-03-19 · 知道合伙人软件行家
08物理
知道合伙人软件行家
采纳数:1141 获赞数:4137
1、国内上市公司资深运维工程师、产品经理 2、百度芝麻将,认证管理员

向TA提问 私信TA
展开全部
下边是android4.0之后屏蔽Home键的方法。
代码如下:

public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;

在onCreate函数中添加如下代码
代码如下:

this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-27
展开全部
1.需要加权限: 2.在需要屏蔽的地方重写onKeyDown
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式